如何查找属性值

时间:2010-05-10 06:52:14

标签: c# xml

我需要在XmlDocument中找到元素的内部文本并返回它的Xpath。例如,在里面搜索“ThisText”:

<xml> 
<xml2 val="ThisText"></xml2> 
</xml> 

应该返回xml2的Xpath

在c#中执行此操作的最有效方法是什么?

1 个答案:

答案 0 :(得分:1)

试试这个:

string xml = "<xml><xml2 val=\"ThisText\"/><xml2 val=\"ThatText\"/></xml>";
var doc = XDocument.Parse(xml);
var node = doc.Descendants().First(x => x.Attribute("val") != null 
            && x.Attribute("val").Value == "ThisText");
Trace.WriteLine(node);