C'est un problème très simple que j'ai. J'utilise XDocument pour générer un fichier XML. Je veux ensuite le renvoyer en tant que classe XmlDocument. Et j'ai une variable XmlDocument que je dois reconvertir en XDocument pour ajouter plus de nœuds.
Alors, quelle est la méthode la plus efficace pour convertir du XML entre XDocument et XmlDocument? (Sans utiliser de stockage temporaire dans un fichier.)
c#
xml
linq-to-xml
Wim ten Brink
la source
la source
XmlDocument
(en tant que propriété) etXDocument
(en tant que nœud). Si vous souhaitez conserver la déclaration, vous devrez la gérer explicitement (voir blogs.msdn.com/b/ericwhite/archive/2010/03/05/… ou la réponse de @ Dmitry stackoverflow.com/a/8894680/2688 )Pour moi, cette solution à ligne unique fonctionne très bien
la source
L'utilisation de cette extension se fait simplement en utilisant quelque chose comme ça
la source
Si vous devez convertir l'instance de System.Xml.Linq.XDocument en l'instance de System.Xml.XmlDocument, cette méthode d'extension vous aidera à ne pas perdre la déclaration XML dans l'instance XmlDocument résultante:
J'espère que cela pourra aider!
la source
Vous pouvez essayer d'écrire le XDocument dans un XmlWriter redirigé vers un XmlReader pour un XmlDocument.
Si je comprends bien les concepts, une conversion directe n'est pas possible (la structure interne est différente / simplifiée avec XDocument). Mais alors, je me trompe peut-être ...
la source
Il y a une discussion sur http://blogs.msdn.com/marcelolr/archive/2009/03/13/fast-way-to-convert-xmldocument-into-xdocument.aspx
Il semble que la lecture d'un XDocument via un XmlNodeReader soit la méthode la plus rapide. Consultez le blog pour plus de détails.
la source
Si vous avez besoin d'une variante compatible Win 10 UWP:
la source