2010-01-19 4 views
0

Je suis en train de sérialiser un objet en xml et souhaite définir un attribut xmlns sur le nœud racine.Sérialisation d'objet XML C#: définition de l'attribut racine xmlns

par exemple:

... 
<root xmlns="[specified url]"> 
... 
</root> 

Je ne peux pas semblent avoir une propriété xmlns/attribut du membre ou semblent ajouter l'espace de noms lors de la sérialisation sans préfixe?

Des idées?

+0

Je peux le faire en ajoutant l'url d'espace de noms au constructeur, puis en ajoutant à nouveau lors de la sérialisation, ommiting le préfixe. Est-ce la meilleure solution? –

Répondre

3

Cela peut le faire comme suit. Pour l'utilisation de haut niveau XmlRoot et pour les propriétés utilisent XmlElement

[System.Xml.Serialization.XmlRoot(Namespace="http://topLevelNS")] 
class MyClass 
{ 
    [System.Xml.Serialization.XmlElement(Namespace = "http://SomeOtherNS")] 
    public int MyVar { get; set; } 
} 
+0

Merci, cela ajoute les références d'espace de noms mais pas de la manière dont je dois supporter le format XML que j'essaye de dupliquer. –

Questions connexes