Я хочу добавить дополнительные пары для каждого pair
.
У меня есть такой код:Функция XQuery node-name(), как она работает?
<data>
<pair>
<key>keyName1</key>
<value>something1</value>
</pair>
<pair>
<key>keyName2</key>
<value>something2</value>
</pair>
<pair>
<key>keyName3</key>
<value>
<listOfPairs>
<pair>
<key>keyName4</key>
<value>Something6</value>
</pair>
</listOfPairs>
</value>
</pair>
<pair>
<key>keyName5</key>
<value>Something9</value>
</pair>
</data>
и мне нужно вставить другие пары после каждой пары независимо от того, в каком уровне, с префиксом: «копировать» с другим значением:
<data>
<pair>
<key>keyName1</key>
<value>something1</value>
</pair>
<pair>
<key>copy_keyName1</key>
<value>another1</value>
</pair>
<pair>
<key>keyName2</key>
<value>something2</value>
</pair>
<pair>
<key>copy_keyName2</key>
<value>another2</value>
</pair>
<pair>
<key>keyNamedwithLists</key>
<value>
<listOfPairs>
<pair>
<key>keyName4</key>
<value>Something6</value>
</pair>
<pair>
<key>copy_keyName4</key>
<value>Another6</value>
</pair>
</listOfPairs>
</value>
</pair>
<pair>
<key>keyName5</key>
<value>Something9</value>
</pair>
<pair>
<key>copy_keyName5</key>
<value>another9</value>
</pair>
</data>
Для такого рода результат получить, мне нужно использовать функцию: node-name()
? Как это работает? Как я должен его использовать? Возможно, мне нужно использовать другую функцию?
'()' возвращает имя элемента. Для ' /node-name()' он вернет 'foo'. Я не понимаю, зачем вам это нужно здесь, поскольку вам нужно только получить доступ к значениям, а не именам элементов. –