如果我有这样的对象:
[XmlRoot("Person")]
public class Person
{
[XmlElement("LastName")]
public string Last {get;set;}
[XmlElement("FirstName")]
public string First {get;set;}
[XmlElement("Banners")]
public List<Banner> Banners {get;set;}
}
[XmlType("Banner")]
public class Banner
{
[XmlElement("Title")]
public string Title {get;set;}
[XmlElement("Location")]
public string Location {get;set;}
}
在本地序列化时,结果看起来还可以
<Person>
<LastName/>
<FirstName/>
<Banners>
<Banner>
<Title/>
<Location/>
</Banner>
</Banners>
</Person>
但是,如果创建一个库并从 WCF IIS 服务托管它,并且我想从客户端应用程序中使用它,当我访问 Person 对象时,用我的参数填充它,然后将其序列化为一个 xml 字符串,我得到这个:
<Person>
<Banners>
<Banner>
<Location/>
<Title/>
</Banner>
</Banners>
<FirstName/>
<LastName/>
</Person>
所有节点都按字母顺序显示,在根之后的每个级别。我已经尝试在 XmlElement 属性中使用 Order 关键字,但它没有明显地看到它。
现在,如果我在本地使用该对象并对其进行序列化,那么它会遵循 Order 关键字。我究竟做错了什么?
谢谢