Fusionner des fichiers XML dans un XDocument
Je suis en train de fusionner plusieurs fichiers XML dans un seul objet XDocument.
De fusion n'existe pas dans l'objet XDocument. Je m'ennuie de cette.
Quelqu'un a déjà mis en œuvre un processus de Fusion et méthode d'extension pour XDocument, ou quelque chose de similaire ?
source d'informationauteur Larry
Vous devez vous connecter pour publier un commentaire.
J'ai essayé un peu de moi :
Je ne sais pas si c'est bon ou mauvais, mais il fonctionne très bien pour moi 🙂
En étant pragmatique,
XDocument
vsXmLDocument
n'est pas tout-ou-rien (sauf si vous êtes sur Silverlight) - donc siXmlDoucument
fait quelque chose dont vous avez besoin, etXDocument
n'est pas le cas, alors peut-être utiliserXmlDocument
(avecImportNode
etc).Cela dit, même avec
XDocument
vous pourriez probablement utiliserXNode.ReadFrom
à importer, puis simplement.Add
à la collection principale.Bien sûr, si les fichiers sont gros,
XmlReader/XmlWriter
peut-être plus efficace... mais plus complexe. Heureusement,XmlWriter
a unWriteNode
méthode qui accepte unXmlReader
de sorte que vous pouvez naviguer pour le premier enfant dans leXmlReader
et puis il suffit de blitz dans le fichier de sortie. Quelque chose comme:Fusionner tous les fichiers xml de dir pour un XDocument
Comme une solution de contournement, vous pouvez utiliser un fichier XSL pour fusionner les fichiers XML, puis de le transformer en un objet XDocument.