0
我有一個XML文件,如下所示:需要一個嵌套的LINQ to XML查詢幫助
<?xml version="1.0" encoding="utf-8" ?>
<publisher>
<name>abc</name>
<link>http://</link>
<description>xyz</description>
<category title="Top">
<item>
<title>abc</title>
<link>http://</link>
<pubDate>1</pubDate>
<description>abc</description>
</item>
<item>
<title>abc</title>
<link>http://</link>
<pubDate>2</pubDate>
<description>abc</description>
</item>
</category>
<category title="Top2">
<item>
<title>abc</title>
<link>http://</link>
<pubDate>1</pubDate>
<description>abc</description>
</item>
<item>
<title>abc</title>
<link>http://</link>
<pubDate>2</pubDate>
<description>abc</description>
</item>
</category>
</publisher>
我需要一個LINQ寫在C#中的XML查詢了基於價值下一個「類」標籤返回的一切提供的屬性。我已經嘗試了下面的代碼,但它給了我錯誤。任何幫助將不勝感激:
System.Xml.Linq.XElement xml = System.Xml.Linq.XElement.Parse(e.Result);
IEnumerable<string> items = from category in xml.Elements("category")
where category.Attribute("title").Value == "Top"
select category.ToString();
我幾乎可以肯定的是選擇應來之前。無論如何,請粘貼錯誤。 – 2010-08-24 00:50:23
「SELECT before WHERE」只有SQL規則,而不是LINQ。錯誤描述將有很大幫助。對於我來說,目前還不清楚爲什麼在沒有「Top」值的標題時搜索「Top」。更多的源代碼也可能是成功的。 – Budda 2010-08-24 01:01:19
@Hamish @Budda:謝謝你的迴應。這就是查詢執行後在「項目」中返回的內容: System.Collections.Generic.IEnumerator .Current ='System.Collections.Generic.IEnumerable '不包含'System'的定義,並且沒有擴展方法'系統'接受類型'System.Collections.Generic.IEnumerable '類型的第一個參數可以找到(你是否缺少一個使用directiv ... 我想要的是所有的 標籤返回取決於例如「Top」,「Top2」 –
Taimi
2010-08-24 01:07:25