Mengalih keluar Semua Ruang Nama daripada XML Bersiri dalam .NET
Dalam proses menyerikan objek ke dalam XML, adalah perkara biasa untuk menemui ruang nama seperti sebagai "xsi" dan "xsd" dilampirkan pada dokumen bersiri. Ruang nama ini boleh menjadi punca kekacauan dan kerumitan.
Coretan kod memberikan percubaan untuk meninggalkan ruang nama XML dengan menetapkan bendera OmitXmlDeclaration. Walau bagaimanapun, XML yang terhasil masih termasuk ruang nama xsi dan xsd. Untuk mengalih keluar sepenuhnya ruang nama ini, langkah tambahan diperlukan.
Penyelesaian terletak pada mentakrifkan objek XmlSerializerNamespaces kosong dan menghantarnya kepada kaedah Serialize:
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace for each prefix s.Serialize(xmlWriter, objectToSerialize, ns);
Kod ini menambah ruang nama kosong ke dokumen XML, dengan berkesan mengalih keluar sebarang awalan atau pengisytiharan ruang nama. Akibatnya, dokumen bersiri akan mengandungi
<message> ... </message>
Atas ialah kandungan terperinci Bagaimana untuk Alih Keluar Semua Ruang Nama daripada XML Bersiri dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!