xml - XPath 使用提供的下节点值获取上节点值
问题描述
我有节点值,其中以下 2 个元素之间的 SData 事件不同,并且在仅提供 FormData“PEMD”和 ItemData“2019-12-18”时需要返回事件值“WK1”我无法提供主题值作为这将不知道,只有 ItemData 值。
<Data>
<Data1 Study="R1979" MetaDataVersionOID="6713">
<Data2 Subject="4100">
<SData Event="SCN" key="WK1[1]">
<FormData Form="PEMD" FormKey="1">
<ItemData Item="PM" Value="1"/>
<ItemData Item="PE" Value="1"/>
<ItemData Item="DATE" Value="2020-01-01"/>
</FormData>
</SData>
</Data2>
</Data1>
<Data1 Study="R1979" MetaDataVersionOID="6713">
<Data2 Subject="4200">
<SData Event="WK1" key="WK1[1]">
<FormData Form="PEMD" Formkey="1">
<ItemData Item="PM" Value="1"/>
<ItemData Item="PE" Value="1"/>
<ItemData Item="DATE" Value="2019-12-18"/>
</FormData>
</SData>
</Data2>
</Data1>
我努力了
/Data/Data1/Data2/SData[@Event]/FormData[@Form='PEMD']
解决方案
这个 XPath,
//SData[FormData[@Form="PEMD"]/ItemData[@Item="DATE"]/@Value="2019-12-18"]/@Event
将按要求返回Event="WK1"
属性。
推荐阅读
- json - Swift Codable - 如何编码和解码字符串化的 JSON 值?
- javascript - 比较两个数组并在未找到项目时创建另一个数组
- haskell - Traversable 和 MonoTraversable 之间有什么区别吗?
- typescript - 如何解决/抑制 IntelliJ 警告,即模拟类未在任何 Angular 模块中声明?
- ruby-on-rails - Dockerfile 在 rhel7 上安装 ruby rails
- python - 如何根据数据框列的值随机选择数据框的记录,同时也有一些条件?
- css - JavaFX CSS 字体系列未应用于 Xubuntu 16.04 中的标签控件
- javascript - 角材料 - 不能让多个项目工作
- python-3.x - 还有一个不知道如何在 Python 中使用 unicode 的人
- ruby-on-rails - 活动记录在 rake 上失败