Je dois ajouter un attribut à un élément de ma réponse XML en utilisant XQuery. Prenez le XML ci-dessous en entrée,Ajouter un attribut à un élément dans un fichier XML existant à l'aide de 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>
Besoin d'un Xquery qui ajoutent un autre attribut newatt avec la valeur newVal et donner le résultat que,
<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>
Chaque fois que le nombre d'attributs de l'en-tête du message peut changer. La requête doit donc ajouter un nouvel attribut avec tous les attributs existants et renvoyer le document entier.
Bonjour Loren. Merci beaucoup pour votre réponse. Cela a fonctionné pour moi! Mais une autre requête. Si j'ajoute un espace de noms aux éléments, alors je reçois un message d'erreur comme "xyz: rootNode ne peut pas convertir en xs: QName". J'ai mis à jour ma question. – DRB
utilisé node-name() au lieu de name() et changé le bit de code .. Il fonctionne maintenant. Je vous remercie:) – DRB