J'ai un fichier XML qui est dans le format suivant:Conversion document XML pour une utilisation avec contrôle TreeView .NET 2.0
<root>
<category>
<doctype>
<name>Doc1</name>
<site>
<name>Site1</name>
<target>iframe</target>
<url>http://www.gmail.com</url>
</site>
</doctype>
<doctype>
<name>Doc2</name>
<site>
<name>Site2</name>
<target>iframe</target>
<url>http://www.bbc.co.uk</url>
</site>
</doctype>
</category>
</root>
je dois l'utiliser sur un contrôle standard .net 2.0 TreeView qui nécessite le XML dans le format suivant
<root>
<category>
<doctype name="Doc1">
<site name = "Site1" target = "iframe" url = "http://www.gmail.com">
</site>
</doctype>
<doctype name="Doc2">
<site name = "Site2" target = "iframe" url = "http://www.bbc.co.uk">
</site>
</doctype>
</category>
</root>
la principale complication est le fait que certains nœuds enfants du nœud DOCTYPE doivent être convertis aux attributs (nom) alors que certains séjour en tant que nœuds enfants qui requièrent des attributs de leur propre (c.-à-SITE).
Comment cela peut-il être fait en utilisant XSLT?
Si vous pouvez régler un cas cohérent pour la transformation des noms dans ma réponse deviendrait beaucoup plus simple. Aussi, je suis un peu incertain si votre entrée XML * vraiment * a des citations. Pouvez-vous confirmer cela aussi? – Tomalak
excuses, j'ai frappé cela en essayant d'imiter ce que je reçois réellement, mais n'a pas fait attention à l'affaire et oublié les citations. – eMTeeN
J'ai changé ma réponse pour répondre à votre nouvelle question. Vous constaterez que c'est beaucoup plus simple maintenant. – Tomalak