使用XPATH查询XML中DocumentTypeValue为1319对应的ActivityTime节点值
问题解答
结论
完全可以通过单条XPath语句直接实现查询需求,无需先定位目标节点再拼接路径。
可用XPath语句
如果你需要严格匹配节点层级避免误匹配,可以使用完整路径版本:
//Document[./Labels/Label/Fields/Field[Code="DocumentTypeValue" and Value="1319"]]/ActivityTime/text()
如果不在意<Field>节点的层级,也可以写简化版本:
//Document[.//Field[Code="DocumentTypeValue" and Value="1319"]]/ActivityTime/text()
语句逻辑说明
//Document:匹配文档内所有的<Document>节点- 方括号内为节点筛选规则:仅保留包含符合以下要求的
<Field>子节点的<Document>节点:- 该
<Field>节点下的<Code>值为DocumentTypeValue - 同属该
<Field>节点下的<Value>值为1319
- 该
- 最后提取符合筛选条件的
<Document>节点下的<ActivityTime>节点文本内容
针对你提供的示例XML,上述语句运行后会直接返回结果:1993-08-11
内容的提问来源于stack exchange,提问作者FM_Bendo
相关产品推荐
相关产品推荐

