如何使用XpathUtils.compile()筛选isValid为1的Resource的keyValue?
如何用XPath筛选isValid为1的Resource对应的keyValue
直接修改你的XPath表达式,加入谓语条件过滤Resource节点即可,正确的写法如下:
XpathUtils.compile("ResourceList/Resource[isValid='1']/keyValue").select(SampleXML)
逻辑说明
Resource[isValid='1']是核心筛选部分:用方括号包裹的谓语条件,只选中包含isValid子节点且其文本值为'1'的Resource节点- 之后再通过
/keyValue获取这些符合条件的Resource下的keyValue值,就能得到你要的XYZ
额外注意事项
如果你的XML里isValid节点的文本可能包含换行、空格等空白字符(比如节点标签之间的缩进),可以用normalize-space()处理后再匹配,避免因为空白导致筛选失败:
XpathUtils.compile("ResourceList/Resource[normalize-space(isValid)='1']/keyValue").select(SampleXML)
内容的提问来源于stack exchange,提问作者Jack Sparrow
相关产品推荐
相关产品推荐

