更新:我在 - Adding XPath 2.0 functionality and variables to .NET XPath(我的博客)写了我所做的事情,包括源代码和值得关注的事项。
有没有办法将正则表达式传递给.NET中的XPath语句的matches()?
示例:执行
的xpath"/windward-studios/Employees/Employee[matches(string(LastName), '.*A?B[12]C.*')]"
答案 0 :(得分:5)
XPath 2.0支持匹配功能。但是,.Net实现了XPath 1.0。
您需要添加自定义函数才能实现匹配。见http://msdn.microsoft.com/en-us/library/ms950806.aspx
看起来像Mvp.Xml项目:EXSLT.NET模块实现了XPath 2.0的大部分内容;包括比赛。见http://mvp-xml.sourceforge.net/exslt/
答案 1 :(得分:0)
微软的XSLT处理器不支持XSLT 2.0,但.NET上至少有两个可用的处理器:Saxon和XQSharp。
微软基本上已经决定与Linq一起走专有路线,如果你想坚持基于标准的方法,你将不得不去第三方。