XPath可以匹配元素名称的一部分吗?

时间:2020-03-05 18:48:18  来源:igfitidea点击:

我想做这个:

//*fu

它返回名称以fu结尾的所有节点,例如<tarfu /><snafu />,但不返回<fubar />

解决方案

回答

做类似的事情:

//*[ends-with(name(), 'fu')]

要获得良好的XPath参考,请查看W3Schools教程。

回答

这个答案是针对XPath 1.0的,其中没有等效的XPath 2.0标准ends-with()函数。

以下XPath 1.0表达式选择xml文档中所有名称以字符串" fu"结尾的元素:

//*[substring(name(),string-length(name())-1) = 'fu']