Maison >développement back-end >C++ >Comment définir des préfixes d'espace de noms dans la sérialisation XML C# ?
Question :
Comment contrôler le préfixe associé à un espace de noms lors de la sérialisation d'une classe en XML à l'aide de C# ? La sortie attendue contient le préfixe d'espace de noms spécifié.
Réponse :
Pour spécifier un préfixe d'espace de noms, vous pouvez utiliser la classe XmlSerializerNamespaces
. Voici comment procéder :
<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>
Ce code générera du XML avec le préfixe d'espace de noms requis :
<code class="language-xml"><node xmlns:mynamespace="http://flibble"><childnode>something in here</childnode></node></code>
Modifier l'espace de noms lors de l'exécution :
Si vous devez modifier l'espace de noms au moment de l'exécution, vous pouvez utiliser XmlSerializerNamespaces
en plus de XmlAttributeOverrides
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!