1

構造の一部が次のような xml を持っています。

<IDList>
    <ValuesList ID="1">
        <Value>1</Value>
        <Value>2</Value>
        <Value>3</Value>
    </ValuesList>
    <ValuesList ID="2">
        <Value>1</Value>
        <Value>2</Value>
        <Value>3</Value>
    </ValuesList>
</IDList>

適切に逆シリアル化できるように、xmlserializer のモデル クラスは何にする必要がありますか? IDList のレベルでは、非常に簡単です。

    [XmlArray("IDList")]
    [XmlArrayItem("ValuesList")]
    public List<CValuesList> idList = new List<CValuesList>();

しかし、配列要素に余分なxml属性がある場合、どうすればよいですか?

ここに示す方法で ot を実行しようとしました:

http://www.codemeit.com/xml/c-xmlserializer-add-an-attribute-to-an-array-element.html

しかし、それは私にはうまくいきませんでした。配列の要素は逆シリアル化されていません。

4

1 に答える 1

0

これを行う簡単な方法はありません。

  • 適切な解決策は、リストとプロパティを含み、IXmlSerializable を継承/実装するオブジェクトを作成することです。

  • このサイトで、ある種の迅速で汚い方法を見てきました: http://funcakes.posterous.com/adding-elements-to-lists-in-the-xmlserializer。オブジェクトは ISerializable から継承されないため、シリアライザーによってリストとしてシリアル化されません。

于 2011-09-06T17:27:00.237 に答える