xml - 元素匹配全局ID的XPath?
问题描述
我试图找到没有成功的例子
这是一个带有 XML 文档的示例:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<name>vlabresvsanvc01</name>
<adapterKindKey>VMWARE</adapterKindKey>
<resourceKindKey>VMwareAdapter Instance</resourceKindKey>
<resourceStatusStates>
<adapterInstanceId>85966e95-1ds5-4551-aecb-d707c9453efe</adapterInstanceId>
<resourceStatus>DATA_RECEIVING</resourceStatus>
<resourceState>STARTED</resourceState>
<statusMessage></statusMessage>
</resourceStatusStates>
<resourceStatusStates>
<adapterInstanceId>95f3530e-a526-4a21-bd92-c0f391a8c2ad</adapterInstanceId>
<resourceStatus>DATA_RECEIVING</resourceStatus>
<resourceState>STARTED</resourceState>
<statusMessage>Trust Established.</statusMessage>
</resourceStatusStates>
<identifier>95f3530e-a526-4a21-bd92-c0f391a8c2ad</identifier>
</root>
我只想为等于标识符 ( )/root/resourceStatusStates/resourceStatus
的adapterInstanceId
兄弟 ( ) 选择 resourceStatus ( )。95f3530e-a526-4a21-bd92-c0f391a8c2ad
/root/identifier
事实上,我想知道这是否可以在 XPath 2.0 中表达出来。
解决方案
这个 XPath,
/root/resourceStatusStates[adapterInstanceId = /root/identifier]/resourceStatus
将选择resourceStatus
同级元素adapterInstanceId
等于/root/identifier
,
<resourceStatus>DATA_RECEIVING</resourceStatus>
按照要求。
推荐阅读
- c# - 在页面之间导航时内存泄漏 (UWP)
- c++ - 如何排序或比较两个循环变量(即整分钟的毫秒数),模运算
- c# - 使用 Linq 将对象列表分组到一个新的对象列表分组列表中,每个组中有 4 个对象
- python - 如何从另一个函数中停止一个函数?
- ruby-on-rails - 如何使用 Rails 创建带有调查 ID 和问题/答案链接的审计模型?
- python - 如何在 Kivy 上显示进度条
- html - 右标题的宽度
- amazon-s3 - ffmpeg上传到s3
- android - 在 Android 的 Fragment 中设计一组复杂的视图布局时,最佳实践是什么?
- postgresql - Postgresql“使用索引名的集群表名;” 占用的磁盘空间超过表大小加上所有索引的总和