C#XDocument:按另一个属性查找属性

时间:2014-12-09 12:31:50

标签: c# xml linq-to-xml

我有一个XML文件:

<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'

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

您可以使用属性方法

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