Frage:
Wie steuere ich das Präfix, das einem Namespace zugeordnet ist, wenn ich eine Klasse mit C# nach XML serialisiere? Die erwartete Ausgabe enthält das angegebene Namespace-Präfix.
Antwort:
Um ein Namespace-Präfix anzugeben, können Sie die Klasse XmlSerializerNamespaces
verwenden. So geht's:
<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>
Dieser Code generiert XML mit dem erforderlichen Namespace-Präfix:
<code class="language-xml"><node xmlns:mynamespace="http://flibble"><childnode>something in here</childnode></node></code>
Namespace zur Laufzeit ändern:
Wenn Sie den Namespace zur Laufzeit ändern müssen, können Sie XmlSerializerNamespaces
zusätzlich zu XmlAttributeOverrides
verwenden.
Das obige ist der detaillierte Inhalt vonWie definiere ich Namespace-Präfixe in der C#-XML-Serialisierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!