[英]How do I select all nodes using XPath 'matches' in C#?
我知道可能存在类似的问题,但是我找不到在C#
的XmlNode.SelectNodes
方法中如何在XPath
字符串中使用regex
来解决问题的答案。
我需要选择属性值与regex
匹配的所有节点。 我正在尝试使用matches
函数,如下所示:
filtered_nodes = xml_node.SelectNodes("./*[matches(@Name, '*')]");
但是无论如何,我得到了System.Xml.XPath.XPathException
。
我正在将MS VS 2012
与XPath 2.0
(至少我认为是这样)。
在我的情况下如何使用matches
?
Microsoft不支持具有matches
功能的XPath 2.0或XQuery 1.0。 如果要使用XPath 2.0或XQuery 1.0,请使用XmlPrime之类的第三方库,或者使用LINQ to XML。
如果我没记错的话./*[matches(@Name, '*')]
表达式./*[matches(@Name, '*')]
在XPath 1.0中可能表示为./*[contains(@Name, '*')]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.