Menghapuskan Ruang Nama daripada XML Bersiri dalam .NET
Apabila mensiri objek dalam .NET, XML yang terhasil selalunya termasuk ruang nama, seperti "xsi " dan "xsd." Untuk meninggalkan ruang nama ini dan mencapai dokumen bersiri yang lebih bersih, pendekatan alternatif diperlukan.
Pendekatan Alternatif:
Daripada kod yang disediakan dalam penerangan masalah, anda boleh menggunakan kelas XmlSerializerNamespaces untuk mengurus ruang nama secara eksplisit semasa penyirian. Ini membolehkan anda mentakrifkan pemetaan ruang nama tersuai, seperti yang dilihat dalam kod berikut:
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace mapping to remove all namespaces s.Serialize(xmlWriter, objectToSerialize, ns);
Dengan menambahkan pemetaan ruang nama kosong, anda mengalih keluar semua pengisytiharan ruang nama secara berkesan daripada dokumen XML bersiri. Ini menghasilkan
<message> ... </message>
Pendekatan ini memberikan lebih kawalan ke atas XML bersiri dan memastikan tiada ruang nama yang tidak diingini disertakan dalam output.
Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar Ruang Nama daripada XML Bersiri dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!