Comment changer la valeur d'un attribut spécifique d'un noeu

Petit nouveau ! | 1 Messages

01 juin 2006, 17:08

J'ai un fichier xml contenant un grand nombre de noeuds imbriqués les uns dans les autres et je voudrais que tous les noeuds 'item' dont l'attribut 'Name' vaut 'Text' soient remplacés par des noeuds 'item' avec le même attribut 'Name' mais avec comme valeur 'Body' au lieu de 'Text'.
Je voudrais effectuer cette transformation avec un xslt mais je tourne en rond depuis des heures : soit j'ai une copie conforme de l'xml de départ, soit je n'ai que les valeurs sans les noeuds !

En résumé, j'ai ceci:
<node1>
..<node2 attrib1="test">
....<item Name="Text">
......<node3 attrib="...">...</node3>
......etc
....</item>
....<item Name="Subject">Ceci est le sujet</item>
...... etc
..</node2>
..<node2 attrib1="un autre test">
....<item Name="Text">
...... etc
....</item>
..</node2>
</node1>

Et je voudrais ceci:
<node1>
..<node2 attrib1="test">
....<item Name="Body">
......<node3 attrib="...">...</node3>
......etc
....</item>
....<item Name="Subject">Ceci est le sujet</item>
...... etc
..</node2>
..<node2 attrib1="un autre test">
....<item Name="Body">
...... etc
....</item>
..</node2>
</node1>

Merci d'avance.