2011-02-09 286 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。