次のようなオブジェクトがある場合:
[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 キーワードに従います。私は何を間違っていますか?
ありがとう