我试着找过例子,但没有成功
这里有一个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>
我只想选择resourceStatus (/root/resourceStatusStates/resourceStatus
) adapterInstanceId
兄弟姐妹( 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>
按要求。