繁体   English   中英

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

[英]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 2012XPath 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM