gpt4 book ai didi

用于匹配名称以 X 开头的任何属性的 XPath 查询

转载 作者:行者123 更新时间:2023-12-03 16:08:56 24 4
gpt4 key购买 nike

从这个 Stack Overflow answer 中,我可以看到如何匹配以特定字符串开头的任何 属性值。例如,查找具有 any 属性值以字母 h 开头的元素列表:

//*[@*[starts-with(., 'h')]]

我的问题是如何匹配以特定字符串开头的属性名称

据我了解,@* 表示匹配任何元素的更广泛的 //* 集合中的任何属性。 starts-with函数有两个参数,haystack和needle,. haystack表示属性值。我觉得我已经完成了 90%,但我无法弄清楚我需要匹配什么属性名称,而不是值

匹配示例:

<example>
<first match-me="123">MATCH!</first>
<second do-not-match-me="456">NO MATCH!</second>
<third match-me-yes-please="789">MATCH!</third>
<fourth>
<fifth match-me:oh-yes>MATCH!</fifth>
</fourth>
</example>

最佳答案

“我觉得我已经完成了 90%”——是的,最后一个阶段是指定属性名称方法:

//*[@*[starts-with(name(), 'match-me')]]

请注意,依靠简单的属性名称匹配,您在处理诸如 match-me:oh-yes(内部冒号)之类的属性名称时可能会遇到问题。在这种情况下,您可能会收到错误消息 The prefix "match-me"for attribute "match-me:oh-yes"associated with an element type "fifth"is not bound与元素类型“fifth”关联的属性名称“match-me:oh-yes”必须后跟“=”字符。(在“无值”属性的情况下)

关于用于匹配名称以 X 开头的任何属性的 XPath 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47991452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com