我知道可能存在类似的问题,但我无法在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
?
答案 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, '*')]
。