Мне нужно добавить атрибут к элементу моего ответа XML с помощью XQuery. Возьмите ниже XML в качестве входных данных,Добавить атрибут в элемент существующего XML с помощью Xquery
<xyz:RootNode xmlns:abc="url1" xmlns:xyz="url2">
<abc:OtherNodes/>
<abc:messageHeader att1="val1" att2="val2">
<abc:childNodes/>
</abc:messageHeader>
<abc:OtherNodes/>
</xyz:RootNode>
Нужна XQUERY, что добавить еще один атрибут newAtt со значением newVal и дать результат, как,
<xyz:RootNode xmlns:abc="url1" xmlns:xyz="url2">
<abc:OtherNodes/>
<abc:messageHeader att1="val1" att2="val2" newAtt="newVal">
<abc:childNodes/>
</abc:messageHeader>
<abc:OtherNodes>
</xyz:RootNode>
Каждый раз, когда количество атрибутов заголовок сообщения может измениться. Таким образом, запрос должен добавить новый атрибут вместе со всеми существующими атрибутами и вернуть весь документ.
Привет Лорен. Большое спасибо за Ваш ответ. Это сработало для меня! Но еще один запрос. Если я добавлю пространство имен в элементы, то я получаю сообщение об ошибке как «xyz: rootNode не может преобразовать в xs: QName». Я обновил свой вопрос. – DRB
использовал имя-node() вместо имени() и изменил бит кода .. Теперь он работает. Спасибо:) – DRB