Ini masalah yang sangat sederhana yang saya miliki. Saya menggunakan XDocument untuk menghasilkan file XML. Saya kemudian ingin mengembalikannya sebagai kelas XmlDocument. Dan saya punya variabel XmlDocument yang perlu saya konversi kembali ke XDocument untuk menambahkan lebih banyak node.
Jadi, apa metode paling efisien untuk mengonversi XML antara XDocument dan XmlDocument? (Tanpa menggunakan penyimpanan sementara dalam file.)
c#
xml
linq-to-xml
Wim sepuluh Brink
sumber
sumber
XmlDocument
(sebagai properti) danXDocument
(sebagai simpul). Jika Anda ingin mempertahankan deklarasi, Anda harus menanganinya secara eksplisit (lihat blogs.msdn.com/b/ericwhite/archive/2010/03/05/… atau @ Dmitry's jawaban stackoverflow.com/a/8894680/2688 )Bagi saya solusi jalur tunggal ini bekerja dengan sangat baik
sumber
Penggunaan Ekstensi ini dilakukan dengan hanya menggunakan sesuatu seperti ini
sumber
Jika Anda perlu mengonversi instance dari System.Xml.Linq.XDocument menjadi instance dari System.Xml.XmlDocument, metode ekstensi ini akan membantu Anda untuk tidak kehilangan deklarasi XML dalam instance XmlDocument yang dihasilkan:
Semoga itu bisa membantu!
sumber
Anda bisa mencoba menulis XDocument ke XmlWriter yang disalurkan ke XmlReader untuk XmlDocument.
Jika saya memahami konsep-konsep dengan benar, konversi langsung tidak dimungkinkan (struktur internal berbeda / disederhanakan dengan XDocument). Tapi kemudian, saya mungkin salah ...
sumber
Ada diskusi di http://blogs.msdn.com/marcelolr/archive/2009/03/13/fast-way-to-convert-xmldocument-into-xdocument.aspx
Tampaknya membaca XDocument melalui XmlNodeReader adalah metode tercepat. Lihat blog untuk lebih jelasnya.
sumber
Jika Anda memerlukan varian yang kompatibel dengan Win 10 UWP:
sumber