c#使用XElement读取XML

时间:2015-03-23 13:52:28

标签: c# xml xelement

当我运行以下代码并使用断点逐步执行它并查看temp时,我看到"清空,枚举没有产生结果"并且MessageBox.Show永远不会触发。我试图在Season no =" 1"

之下拉下所有东西
XElement sitemap = XElement.Load(@"http://services.tvrage.com/feeds/episode_list.php?sid=" + this.showID);
IEnumerable<XElement> temp = from el in sitemap.Elements("Season")
                                         where (string)el.Attribute("no") == "1"
                                         select el;
foreach (XElement el in temp)
{
    MessageBox.Show("found something");
}

这是正在加载的XML: http://services.tvrage.com/feeds/episode_list.php?sid=6312

1 个答案:

答案 0 :(得分:2)

您正在根元素下直接查找名为Season 的元素 ...而您的XML看起来像这样:

<Show>
  <name>The X-Files</name>
  <totalseasons>9</totalseasons>
  <Episodelist>
    <Season no="1">
      <episode>
      ...

如果要查找具有给定名称的所有后代元素,请使用Descendants而不是Elements。这肯定会在您给出的示例XML中找到元素。