我需要将一个有效xml的字符串序列化为一个对象。问题是该对象是其他对象的2个数组,我不知道以下注释是否正确:
[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属性,或者只有Data类有它,而另外两个有另一个属性而不是xmlroot
答案 0 :(得分:4)
XmlRoot
将只执行任何操作。 不影响对象在数组中的命名方式(据我所知)。
要设置数组的名称和内部对象,请使用相应的属性:
[XmlArray("NameOfElementWrappingTheItems")]
[XmlArrayItem("NameOfItemsInsideTheArray")]
public object[] Stuff ...
如果您不发布应翻译或读取的XML,我们无法知道您的代码是否正确。