在不知道父节点的情况下搜索XML节点值

时间:2011-08-07 16:44:19

标签: c# .net xml xpath xmldocument

我想在不知道节点父节点的情况下搜索XML节点值。我在XML文档中读到要搜索值,您可以使用以下语法:

//book[price>35.00]

这将选择xmldocument中任何具有值大于35.00的price元素的书元素

我想要做的不是引用book节点,而是在xmldocument中的任何位置找到值大于35.00的所有price元素。我怎么写这个?

我在C#中使用XmlDocument类。

2 个答案:

答案 0 :(得分:2)

使用此XPath://price[. > 35.00]

答案 1 :(得分:1)

Kirill展示了一种XPath方法 - 如果您使用的是.NET 3.5或更高版本,我会亲自尝试使用LINQ to XML(所以XDocument代替XmlDocument)。

然后你会使用:

var prices = doc.Descendants("price")
                .Where(x => (decimal?) x > 35m);