我尝试编写查询//*[contains(//*/@*[name() != 'id'], ./@id)]
,但很不幸。
查询的一部分//*/@*[name() != 'id']
查找属性值的序列,而我想从包含./@id
的该序列中查找元素,但是函数contains
不能与序列一起使用,并且我不知道如何依次遍历元素在XPath中(我只需要使用XPath)。
我该如何解决?
任何帮助。
最佳答案
对名称不等于“ id”的单个属性应用contains()
检查。以下XPath将返回元素,其中至少一个属性通过“包含”检查:
//*[@*[name() != 'id' and contains(., ../@id)]]
演示:link1,link2
关于xml - 使用XPath从序列中搜索匹配的XML元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522145/