Inilah cara saya saat ini mengkonversi XMLDocument ke String
StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
xmlDoc.WriteTo(xmlTextWriter);
return stringWriter.ToString();
Masalah dengan metode ini adalah bahwa jika saya memiliki " ((tanda kutip) yang saya miliki dalam atribut) itu lolos dari mereka.
Misalnya:
<Campaign name="ABC">
</Campaign>
Di atas adalah XML yang diharapkan. Tapi itu kembali
<Campaign name=\"ABC\">
</Campaign>
Saya dapat melakukan String.Replace "\" tetapi apakah metode itu oke? Apakah ada efek samping? Apakah ini akan berfungsi dengan baik jika XML itu sendiri mengandung "\"
using
blok dan tidakXmlTextWriter
.Flush
, meskipun panggilan keClose
atau hanya menutupxmlTextWriter
using
blok akan mencapai hal yang sama.Menganggap xmlDoc adalah objek XmlDocument apa yang salah dengan xmlDoc.OuterXml?
The properti OuterXml mengembalikan versi string xml.
sumber
Jika Anda menggunakan
Windows.Data.Xml.Dom.XmlDocument
versiXmlDocument
(digunakan dalam aplikasi UWP misalnya), Anda dapat menggunakanyourXmlDocument.GetXml()
untuk mendapatkan XML sebagai string.sumber
Sebagai metode ekstensi:
Sekarang untuk menggunakan hanya:
sumber
"
ditampilkan seperti\"
di debugger, tetapi data sudah benar dalam string, dan Anda tidak perlu mengganti apa pun. Cobalah untuk membuang string Anda ke file dan Anda akan perhatikan bahwa string sudah benar.sumber