如何使用XPath获取匹配lunIds的节点对应的lungroupID属性值
解决方案
你已经写的XPath已经成功定位到了符合条件的OBJECT节点,只要在表达式末尾追加属性路径即可获取对应的lungroupID值:
/W4N/LUNGROUP/OBJECT[tokenize(@lunIds,',')='228']/@lungroupID
如果需要直接拿到字符串格式的属性值,可以在外层套上string()函数,省去后续额外提取的步骤:
string(/W4N/LUNGROUP/OBJECT[tokenize(@lunIds,',')='228']/@lungroupID)
运行上述语句会直接返回结果0。
补充提示:你提供的示例XML存在语法错误,第二个
OBJECT节点的lunIds属性缺失闭合引号,实际使用时需要把<OBJECT lungroupID="1" lunIds="1,3,5/>修正为<OBJECT lungroupID="1" lunIds="1,3,5"/>,否则XML解析器会报错。
内容的提问来源于stack exchange,提问作者Barun
相关产品推荐
相关产品推荐

