使用XPATH按XML节点条件查询同结构下另一目标节点的值
XPath查询实现方案
完全可以通过单条XPath语句直接实现查询,无需先定位节点再拼接路径。
可用查询语句
如果需要直接取出目标值的文本内容,使用以下语句:
//Fields[Field[Code='DocumentTypeValue' and Value='1319']]/Field[Code='DocIDAutoNumerator']/Value/text()
如果需要获取节点本身而非文本内容,去掉末尾的/text()即可。
语句逻辑说明
//Fields匹配文档内所有Fields节点- 谓词
[Field[Code='DocumentTypeValue' and Value='1319']]过滤出符合要求的Fields节点:该节点下存在Code为DocumentTypeValue且Value取值为1319的Field子节点 - 后续路径直接从符合条件的
Fields节点出发,匹配同属该节点下Code为DocIDAutoNumerator的Field节点,取出对应值
针对你提供的XML片段执行上述语句,会直接返回结果21321,符合查询需求。
内容的提问来源于stack exchange,提问作者FM_Bendo
相关产品推荐
相关产品推荐

