如何通过XPath获取search-autocomplete标签的:suggested-items属性?
用XPath获取带冒号的
suggested-items属性的正确方法 问题原因
XPath语法里,冒号是命名空间前缀与属性本地名称的分隔符。你写的//search-autocomplete/@:suggested-items会被解析成“查找无命名空间前缀、本地名为suggested-items的属性”,但实际目标属性的完整名称是:suggested-items(带冒号),所以匹配失败。
解决方案
以下两种方法可以正确获取目标属性:
使用
name()函数匹配完整属性名(兼容性最优)
这个表达式会遍历search-autocomplete标签的所有属性,精准匹配名称为:suggested-items的属性://search-autocomplete/@*[name()=':suggested-items']直接用引号包裹带特殊字符的属性名(部分XPath引擎支持)
如果你的XPath解析器允许,也可以给属性名加引号,避免冒号被误解析://search-autocomplete/@':suggested-items'
验证结果
结合你提供的HTML结构,用第一种表达式能成功获取到属性值——包含多个医生专业信息的JSON字符串。
内容的提问来源于stack exchange,提问作者p.magalhaes
相关产品推荐
相关产品推荐

