我想根據條件查找xml的一部分,因此我使用linq to XML。不幸的是結果總是爲空,所以我想我做錯了。下面顯示的是我正在解析的XML示例。使用Linq找到基於ID的特定XML元素
<Stuff>
<ItemsA />
<ItemsB />
<ItemsC>
<Item xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Stuff">
<Id>4bd7b5ac-cb29-4d34-97be-deaebe4a5186</Id>
<Children>
<Item>
<Id>22e3ef6b-4321-40c3-9237-196ba527e9ad </Id>
<Name>SomeName</Name>
</Item>
</Children>
<Description>SomeText</Description>
<Name>NewName</Name>
</Item>
我正在尋找的「ItemsC」部分,其中可以存在多個「項」 XML的塊在(只有一個在該示例中示出)。我想根據它的「Id」檢索元素,在上面的例子中,Id是「4bd7b5ac-cb29-4d34-97be-deaebe4a5186」。
我已經使用的代碼如下所示:
的XElement數據= XElement.Parse(的GetFile());
var pbp = (from b in data.Descendants("Item")
where b.Element("Id").Value == "4bd7b5ac-cb29-4d34-97be-deaebe4a5186"
select b.Element("Id").Parent).FirstOrDefault();
pbp始終返回爲空。任何人都可以幫助我產生正確的linq表達。
謝謝,改變現在的作品。時間讓我在Linq上做更多的閱讀:) – Retrocoder 2009-10-20 10:39:09