2011-02-09 293 views
1

我需要將一個有效的xml字符串序列化爲一個對象。問題是,對象是其他對象的2個陣列,我不知道如果下面的註釋是正確的:XmlRoot屬性c#

[XmlRoot("Data")] 
public class Data 
{ 
    [XmlArray("ServicoUrgente")] 
    public ServicoUrgente[] servicosUrgentes; 

    [XmlArray("Mensagem")] 
    public Mensagem[] mensagens; 
} 


[XmlRoot("Mensagem")] 
public class Mensagem 
{ 
    [XmlElement("ToUserID")] 
    public int ToUserID; 

    [XmlElement("Message")] 
    public int Message; 

    [XmlElement("TimeStamp")] 
    public DateTime TimeStamp; 

} 


[XmlRoot("ServicoUrgente")] 
public class ServicoUrgente 
{ 
    [XmlElement("ServicoID")] 
    public int ServicoID; 
    [XmlElement("ToUserID")] 
    public int ToUserID; 

    [XmlElement("FromUserID")] 
    public int FromUserID; 
    [XmlElement("FromUserName")] 
    public string FromUserName; 

    [XmlElement("DataInicioPrevista")] 
    public DateTime DataInicioPrevista; 
    [XmlElement("DataFimPrevista")] 
    public DateTime DataFimPrevista; 

    [XmlElement("IDPoi")] 
    public int IDPoi; 
    [XmlElement("NomePoi")] 
    public string Nome; 
    [XmlElement("DescricaoPoi")] 
    public string Descricao; 
    [XmlElement("NContratoPoi")] 
    public string NContrato; 
    [XmlElement("MoradaPoi")] 
    public string Morada; 
    [XmlElement("LatitudePoi")] 
    public double Latitude; 
    [XmlElement("LongitudePoi")] 
    public double Longitude; 

} 

的問題是:我們爲每個類的xmlRoot屬性,或僅數據類有它,而另外兩個有另一個屬性,而不是xmlroot

+0

CAn你清除你的問題一次? – PawanS 2011-02-09 11:43:45

+0

完成。希望現在更清楚。 – Sorcerer86pt 2011-02-09 11:45:50

回答

4

XmlRoot只會做任何事情,如果對象最終作爲序列化文件的根元素。它不會影響如何在數組內命名對象(據我所知)。

要設置陣列的名稱和對象中使用相應的屬性:

[XmlArray("NameOfElementWrappingTheItems")] 
[XmlArrayItem("NameOfItemsInsideTheArray")] 
public object[] Stuff ... 

我們無法知道,如果你的代碼是正確的,如果你不將它張貼應該翻譯成或讀取XML。