У меня есть XML-документ, как:Как получить значение узла с использованием имени переменной узла?
<data>
<item type="apple">
<misc>something</misc>
<appleValue>23</appleValue>
<misc2>something else</misc2>
</item>
<item type="banana">
<bananaValue>47</bananaValue>
<random>something</random>
</item>
</data>
я могу получить детали с doc("data.xml")/data/item
, но мне нужно, чтобы получить текст из элементов, которые заканчиваются Value
. Поэтому я хотел бы получить «23» и «47», но я не обязательно знаю имена элементов, то есть все, что я действительно знаю, есть элементы, которые заканчиваются на Value
, я не знаю, если это appleValue
, bananaValue
и т. д., за исключением того, что я мог бы посмотреть атрибут type
и создать строку.
let $type := (doc("data.xml")/data/item)[1]/@type
doc("data.xml")/data/item/$typeValue
... Это последняя строка, что я пытаюсь получить в, ясно, что это не правильно, но мне нужно, чтобы найти элементы, чье имя известно на основе переменной (хранится в переменной, такой как $type
) и «Значение».
Любые идеи? Я понимаю, что это имя элемента переменной является странным/нечетным/плохим ... но так оно и есть, и я должен иметь дело с ним.