2

次のコードを使用して、カスタムオブジェクトをxmlにシリアル化しようとしています。

MatchList matchList = converter.Convert(excelStream);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(MatchList));
StringWriter stringWriter = new StringWriter();
xmlSerializer.Serialize(stringWriter, matchList);
string serializedXml = stringWriter.ToString();
txtResult.Text = serializedXml;

ただし、上記の2行目に例外があります。

マッチリストオブジェクトは次のように定義されます。

public class MatchList
{
   public Header Header { get; set; }

   [XmlArray("Lists")]
   [XmlArrayItem("List")]
   public virtual List<List> Lists { get; set; }
}
4

2 に答える 2

4

オブジェクトにシリアル化する必要のないプロパティがある場合は、属性を追加します

[XmlIgnore]

その上。問題のあるプロパティを見つけるには、例外メッセージの [詳細を表示...] をクリックして掘り下げ、[内部例外] をクリックし続けます。

于 2014-08-27T08:39:48.657 に答える
1
[XmlArray("Lists")]
[XmlArrayItem("List")]
public virtual List<object> Lists { get; set; }

そして、シリアル化可能な型を持つ既知のタイプ属性のマークを次のように追加しますobject

于 2012-11-23T15:02:28.430 に答える