如何使用XPath'匹配'选择所有节点?在C#?

时间:2014-07-03 14:49:33

标签: c# xml regex xpath

我知道可能存在类似的问题,但我无法在regex方法中使用XPath字符串中的XmlNode.SelectNodes找到解决问题的方法。 C#

我需要选择属性值与regex匹配的所有节点。我尝试使用matches功能,如下所示:

filtered_nodes = xml_node.SelectNodes("./*[matches(@Name, '*')]");

但无论如何我得到了System.Xml.XPath.XPathException

我在MS VS 2012使用XPath 2.0(至少我认为是这样)。

如何在我的案例中使用matches

1 个答案:

答案 0 :(得分:0)

Microsoft不支持具有matches功能的XPath 2.0或XQuery 1.0。如果你想使用XPath 2.0或XQuery 1.0,或者使用LINQ to XML,可以使用像XmlPrime这样的第三方库。

如果我没有弄错的话,表达式./*[matches(@Name, '*')]可能会在XPath 1.0中表示为./*[contains(@Name, '*')]