この XML フラグメントを考えると (余分な綿毛を削除しました):
<Event name="DataComplete">
<Task id="d20a0053-7678-43ba-bc8a-ece24dcff15b"/>
<DataItems>
<DataItem name="Survey" type="task">
<Value status="NotStarted" taskId="00000000-0000-0000-0000-000000000000" />
</DataItem>
<GroupDataItem name="CT_Visit"> --- this may repeat
<ItemGroup id="1" >
<DataItem name="Special Contractor" type="string">Yes</DataItem>
name="Special Contractor" の DataItem の値が "Yes" かどうかを判断する xPath 式はどれですか。
私はこのようなことを試みています:
Yes = /Event/Task/DataItems/GroupDataItem/ItemGroup/DataItem/@[normalize-space() = 'Special Contractor']
通常、多くのバリエーションが「無効な xPath 式」になります。
手がかりは大歓迎です。ありがとう!
[編集]
答えてくれてありがとう、ジリとウィル。ウィルは近かったですが、私の質問が述べているように、*要素に値があるかどうかを判断しようとしていますYes
。true または false のブール値が必要であることをもっと明確にすべきでした。Willの答えを適応させると、次のようになりました。
"Yes" = //Event/Task/DataItems/GroupDataItem/ItemGroup/DataItem[@name='Special Contractor']
Boolean='true'
これは単純なorを返しますBoolean='false'
。
みんなありがとう!