Xml XPath能否匹配元素的某些部分';她叫什么名字?

Xml XPath能否匹配元素的某些部分';她叫什么名字?,xml,xpath,Xml,Xpath,我想这样做: //*傅 它返回名称以fu结尾的所有节点,例如和,但不是,执行以下操作: //*[ends-with(name(), 'fu')] 要获得一个好的XPath参考,请查看。这个答案适用于没有等效于的 以下XPath 1.0表达式选择xml文档中名称以字符串“fu”结尾的所有元素: 迪米特里·诺瓦切夫的回答让我很为难,因为它不会返回比赛。我知道您的XPath必须有一个部分告诉您“fu”的长度为2 建议使用字符串长度('fu')来确定子字符串的内容 对于那些无法通过他的答案获得结果并且

我想这样做:

//*傅

它返回名称以fu结尾的所有节点,例如
,但不是

,执行以下操作:

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

要获得一个好的XPath参考,请查看。

这个答案适用于没有等效于的

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


迪米特里·诺瓦切夫的回答让我很为难,因为它不会返回比赛。我知道您的XPath必须有一个部分告诉您“fu”的长度为2

建议使用字符串长度('fu')来确定子字符串的内容

对于那些无法通过他的答案获得结果并且需要使用xpath 1.0解决的人:

/*[子字符串(name(),字符串长度(name())-字符串长度('fu')+1)='fu']

查找以“fu”结尾的元素的匹配项

/*[子字符串(name(),字符串长度(name())-字符串长度('Position')+1)='Position']

查找与以“位置”结尾的元素的匹配项


这只是一个XPath 2.0解决方案。请注意,您可以使用
local-name()
在复杂的XML中省略名称空间。谢谢您的宝贵意见。我试着用lxml来实现这一点,它支持以结尾,但不支持元素名。你的回答正是我需要的@用户766308欢迎:)
//*[substring(name(),string-length(name())-1) = 'fu']