Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyesuaikan Awalan Ruang Nama dalam C# XML Serialisasi?
Penyirian XML C# kadangkala memerlukan awalan ruang nama tersuai. Tingkah laku lalai menghasilkan awalan yang tidak dapat diramalkan, tetapi ini boleh dibatalkan. Begini cara mengawal awalan ruang nama dengan berkesan:
Kaedah 1: Memanfaatkan XmlSerializerNamespaces
Kaedah pilihan untuk mengurus awalan ruang nama adalah menggunakan kelas XmlSerializerNamespaces
. Ini memberikan kawalan langsung ke atas pemetaan ruang nama awalan dalam dokumen XML anda.
<code class="language-csharp">[XmlRoot("Node", Namespace = "https://www.php.cn/link/8f94eafb14366ce488946e40d8b4694e")] public class MyType { [XmlElement("childNode")] public string Value { get; set; } } static class Program { static void Main() { XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(); namespaces.Add("myPrefix", "https://www.php.cn/link/8f94eafb14366ce488946e40d8b4694e"); // Define your prefix XmlSerializer serializer = new XmlSerializer(typeof(MyType)); serializer.Serialize(Console.Out, new MyType(), namespaces); } }</code>
Coretan kod ini secara eksplisit memberikan awalan "myPrefix" pada ruang nama "https://www.php.cn/link/8f94eafb14366ce488946e40d8b4694e".
Kaedah 2: Kawalan Dinamik dengan XmlAttributeOverrides
Untuk pelarasan ruang nama masa jalan, kelas XmlAttributeOverrides
, yang digunakan dengan XmlSerializer
, menawarkan pengubahsuaian ruang nama dinamik untuk elemen atau atribut tertentu.
<code class="language-csharp">XmlAttributeOverrides overrides = new XmlAttributeOverrides(); overrides.Add(typeof(MyType), "Node", new XmlAttributes { XmlNamespace = new XmlNamespaceDeclaration("https://www.php.cn/link/8f94eafb14366ce488946e40d8b4694e") }); XmlSerializer serializer = new XmlSerializer(typeof(MyType), overrides); serializer.Serialize(Console.Out, new MyType());</code>
Pendekatan ini membolehkan anda mengubah ruang nama secara pengaturcaraan, memberikan fleksibiliti apabila berurusan dengan pelbagai struktur XML. Perhatikan penggunaan XmlAttributes
dan XmlNamespaceDeclaration
untuk pendekatan ini.
Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Awalan Ruang Nama dalam C# XML Serialisasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!