4
type = arrayのXML文書をルートノードとしてde/serializeしたいと思います。 与えられたXML構造は次のようになります。結果のXML出力がこれですXmlSerialization in C# - ルート要素配列
[XmlRootAttribute("parties", Namespace = "", IsNullable = false)]
public class Parties
{
private ArrayList contacts = new ArrayList();
public Parties()
{
}
[XmlArray("parties"), XmlArrayItem("party", typeof(Person))]
public ArrayList Contacts
{
get { return contacts; }
set { contacts = value; }
}
}
:
<?xml version="1.0" encoding="UTF-8"?>
<parties type="array">
<party type="Person">
<id>1</id>
<lastname>Smith</lastname>
<firstname>Peter</firstname>
...
</party>
<party type="Person">
<id>2</id>
<lastname>Smith</lastname>
<firstname>Sarah</firstname>
...
</party>
<parties type="array">
C#のコードのようになります
<?xml version="1.0" encoding="utf-8"?>
<parties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<parties>
<party>
<id>0</id>
<lastname>Smith</last-name>
<firstname>Peter</first-name>
</party>
</parties>
</parties>
問題は、私は2を持っているということです今、 ルート要素の配列タイプを指定するにはどうすればよいですか?任意のアイデアをどのように指定されたXMLスキーマを変更せずにそれを修正するには?
+1を。マイナーポイント - 値が正しく初期化されていれば 'get'だけ必要です。 –
それは問題を解決しました。 @peterなら、これを答えとしてマークすることを検討してください。 –