1

私は次のXElementを持っています

  <Issue Type="Duplicate" Distance="1">
    <Record>
      <ID>6832</ID>
      <Name_First>JAMES </Name_First>
      <Name_Last>SMITH</Name_Last>
      <Company>SMITH CO.</Company>
    </Record>
    <Record>
      <ID>6831</ID>
      <Name_First>JAMES</Name_First>
      <Name_Last>SMITH</Name_Last>
      <Company>SMITH CO.</Company>
    </Record>
  </Issue>

このオブジェクトに逆シリアル化しようとしています

public class Issue
{
    [XmlAttribute]
    public string Type { get; set; }

    [XmlArrayItem(typeof(XElement), ElementName = "Record")]
    public List<XElement> Record { get; set; }
}

この型は問題なく動作しますが、2 つの Record ノードをオブジェクトの Record リストに入れることができません。

ISerializable をオーバーライドしてカスタム コードを記述しなくても可能ですか?

4

2 に答える 2

2

これを試して:

public class Issue 
{
    [XmlAttribute]
    public string Type { get; set; }

    [XmlAnyElement("Record")]
    public List<XElement> Record { get; set; }
}

複数の Record 要素がリストに含まれることをシリアライザーに伝えていると思います。

于 2010-10-05T17:28:18.727 に答える
1

ID、Name_First、Name_Last、および Company フィールドを持つ Record クラスを実装します。

于 2010-10-05T17:21:57.270 に答える