当我运行以下代码并使用断点逐步执行它并查看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
答案 0 :(得分:2)
您正在根元素下直接查找名为Season
的元素 ...而您的XML看起来像这样:
<Show>
<name>The X-Files</name>
<totalseasons>9</totalseasons>
<Episodelist>
<Season no="1">
<episode>
...
如果要查找具有给定名称的所有后代元素,请使用Descendants
而不是Elements
。这肯定会在您给出的示例XML中找到元素。