2009-12-24 5 views
0

J'ai une question sur la désérialisation. Il est une partie de fichier xmlC# désérialisation

<N Name="MyName">Number of MyName</N> 

et classe C#:

MyN 
{ 
    [XmlAttribute(AttrName='Name')] 
    public string Name {get;set;} 

    public string Number {get;set} 
} 

Je veux faire que la valeur de N dans le fichier xml (en SAMLE - "Nombre de MonNom") sera deserialze dans property Nombre de classe MyN.

Merci.

Répondre

5

Utilisez [XmlText()] Attribut

[XmlRoot(ElementName="N")] 
MyN 
{ 
    [XmlAttribute(AttrName='Name')] 
    public string Name {get;set;} 
    [XmlText()] 
    public string Number {get;set} 
} 

Vérifiez cela pour plus d'informations sur Xml sérialisation en C# http://www.dotnetjohn.com/articles.aspx?articleid=173

+0

Ne pas oublier' [XmlRoot (ElementName = "N")] 'pour le' M yN' class – Regent

+0

Merci. Ça marche. Mais il y avait quelques problèmes avec la sérialisation de tableau. Les attributs XmlArrayItem et XmlArray le résolvent. – dekko

+0

@Regent: J'ai mis à jour mon code !! – viky

3
[XmlRoot(ElementName="N")] 
public class MyN 
{ 
    [XmlAttribute] 
    public string Name { get; set; } 
    public string Number { get; set; } 
} 
+0

Cela suppose que vous avez ' Nombre de MyName ' – Regent

0
MyN 
{ 
    [XmlAttribute(AttrName='Name')] 
    public string Name {get;set;} 

    [XmlText] 
    public string Number {get;set} 
} 
Questions connexes