Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mentakrifkan Awalan Ruang Nama dalam Sirialisasi C# XML?
Soalan:
Bagaimanakah saya mengawal awalan yang dikaitkan dengan ruang nama apabila mensiri kelas kepada XML menggunakan C#? Output yang dijangkakan mengandungi awalan ruang nama yang ditentukan.
Jawapan:
Untuk menentukan awalan ruang nama, anda boleh menggunakan kelas XmlSerializerNamespaces
. Begini caranya:
<code class="language-csharp">[XmlRoot("Node", Namespace = "http://flibble")] public class MyType { [XmlElement("childNode")] public string Value { get; set; } } static class Program { static void Main() { XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("myNamespace", "http://flibble"); XmlSerializer xser = new XmlSerializer(typeof(MyType)); xser.Serialize(Console.Out, new MyType(), ns); } }</code>
Kod ini akan menjana XML dengan awalan ruang nama yang diperlukan:
<code class="language-xml"><node xmlns:mynamespace="http://flibble"><childnode>something in here</childnode></node></code>
Tukar ruang nama semasa masa jalan:
Jika anda perlu menukar ruang nama semasa runtime, anda boleh menggunakan XmlSerializerNamespaces
sebagai tambahan kepada XmlAttributeOverrides
.
Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan Awalan Ruang Nama dalam Sirialisasi C# XML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!