2009-08-10 4 views

Répondre

54

Vous devrez indiquer les espaces de noms requis pour chaque champ à l'aide de l'attribut Namespace de l'attribut XmlElement. Cela vous permettra d'associer un champ à un espace de noms particulier, mais vous devrez également exposer une propriété de votre classe qui renvoie le type XmlNamespaceDeclarations afin d'obtenir l'association de préfixe.

Voir la documentation et exemple ci-dessous:

[XmlRoot(ElementName="person")] 
    public class Person 
    { 

     [XmlElement(Namespace="http://example.com")] 
     public string fname; 

     [XmlElement(Namespace="http://sample.com")] 
     public string lname; 

     [XmlNamespaceDeclarations] 
     public XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces(); 

     public Person() 
     { 
      xmlns.Add("a", "http://example.com"); 
      xmlns.Add("b", "http://sample.com"); 
     } 
    } 
+0

C'est, merci! –

+1

Une note pour les autres, semble que la chose XmlSerializerNamespaces n'est pas nécessaire si vous ne faites que la désérialisation, bien que je considérerais toujours une bonne pratique de toute façon. –

+1

légende J'ai cherché des siècles pour ça! – jcvandan

Questions connexes