Я хотел бы выбрать узел покупки с атрибутом pgnr, который имеет значение из другого атрибута pgnr, startig с «KEY», объединенным с «c».Как выбрать узел, на который ссылается другой узел с XPath?
Пример:
<root>
<purchact hhid="xxx">
<purchase pgnr="41">
<purchvalues field_name="Number" field_value="1"/>
</purchase>
<purchase pgnr="KEY9802">
<purchvalues field_name="Number" field_value="2"/>
</purchase>
<purchase pgnr="9802c">
<purchvalues field_name="Number" field_value="3"/>
</purchase>
</purchact>
</root>
В этом случае, я ищу для покупки-узла с pgnr атрибутом «9802c», так как покупка-узел с pgnr-атрибута, начиная с «KEY» имеет как следующие символы «9802».
Я попытался
root/purchact/purchase[@pgnr=concat(substring-after(@pgnr, "KEY"), "c")]
, но он не работает.
Помочь ли кто-нибудь? Спасибо!
Проверьте мой ответ, что он правильно выбирает все нужные элементы. –