2009-06-27 9 views

risposta

66

XmlArray viene utilizzato per indicare a xmlserializer di trattare la proprietà come matrice e serializzarla in base ai relativi parametri per i nomi degli elementi.

[XmlArray("FullNames")] 
[XmlArrayItem("Name")] 
public string[] Names{get;set;} 

vi darà

<FullNames> 
    <Name>Michael Jackson</Name> 
    <Name>Paris Hilton</Name> 
</FullNames> 

Per aggiungere un attributo XML all'elemento FullNames, è necessario dichiarare una classe per esso.

[XmlType("FullNames")] 
public class Names 
{ 
    [XmlAttribute("total")] 
    public int Total {get;set;} 
    [XmlElement("Name")] 
    public string[] Names{get;set;} 
} 

Questo vi darà

<FullNames total="2"> 
    <Name>Michael Jackson</Name> 
    <Name>Paris Hilton</Name> 
</FullNames> 
+0

Sì, lo so questo .. Può essere che non mi spiego correttamente .. fatemelo spiegare con il vostro esempio Michael Jackson Paris Hilton Vedere l'attributo "totale" per l'elemento ArrayOfString .. Come ottengo questo? – 123Developer

+0

avresti [XmlAttribute ("total")] public int Totale {get {return Names.Length;} set {}} o simile; nota il setter "non fare nulla". –

+0

(... usando lo stesso approccio di codemeit ha già dimostrato di dichiararlo) –

Problemi correlati