Maison >développement back-end >C++ >Comment définir des préfixes d'espace de noms dans la sérialisation XML C# ?

Comment définir des préfixes d'espace de noms dans la sérialisation XML C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-15 09:40:43171parcourir

How to Define Namespace Prefixes in C# XML Serialization?

Définition 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn