2014-12-09 114 views
0

屬性我有一個XML文件:C#的XDocument:查找另一個屬性

<items> 
    <item att='101' some='myStr1' /> 
    <item att='102' some='myStr2' /> 
    <item att='103' some='myStr3' /> 
</items> 

,我有我的XDocument:

var xdoc = XDocument.Load("my.xml"); 

我怎樣才能獲得'myStr2'通過尋找att='102'

回答

1

使用

XElement item = xdoc.Root.Elements("item").FirstOrDefault(i => (string)i.Attribute("att") == "102"); 
if (item != null) 
{ 
    string s = (string)item.Attribute("some"); 
} 
else 
{ 
    // treat case that no matching item was found 
} 
+0

終於來了!...謝謝你。 – 2014-12-09 12:48:20

0

您可以使用屬性方法

doc.XPathSelectElement("/items/item[att='102']").Attributes().First(o=> o.Name == "some").Value; 
+0

值得注意的是,這個解決方案需要在System.Xml.XPath中增加using語句,因爲XPathSelectElement是該名稱空間中的擴展方法。 – Psytronic 2014-12-09 15:13:44