2010-11-29 4 views
1

私はドキュメントの書式設定に使用するプロパティのクラスをXMLシリアル化しようとしています。
基本的には、ドキュメントのヘッダー用のクラスであり、行用のクラスです。XML内部の他のオブジェクトとのシリアル化

クラス図:このクラス図で

classdiagram http://yfrog.com/jyclassdiagramop

、私はシリアライズするクラスがExcelCabecからそのメソッドを継承し、プライベートメンバーExcelPrintDocumento(および取得するためのパブリックメソッドを持っていExcelPrintCorteですそれ)。

私の目的は、XML-シリアライズExcelPrintCorteをし、継承されたプロパティの値ともプロパティのExcelPrintDocumentoの値を保存することです。私は、XML-シリアライズオブジェクトをに多くのガイドを続くが、それは何も保存しない:だから

<?xml version="1.0" encoding="utf-8"?> 
<ExcelPrintCorte xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" /> 

を、私が間違って何をやっていますか?それとも、XMLのシリアライズでは不可能なことですか?コードなしで伝えることは不可能、しかし

答えて

0

  • あなたがシリアライズするプロパティ(以下、一般的に、フィールド)は、
  • パブリックプロパティ(何とか)が可変でなければなりませんすなわちないget -onlyまたはreadonly
  • 何かが[XmlIgnore]をマークは無視され、そして[DefaultValue]ShouldSerialize{foo}などのような他のいくつかのルールが
  • を観察しています

これらは、停止するルールです。何かが表示されます。

  • 公共ません(どんな含むタイプを含む)

  • は公共のパラメータなしのコンストラクタ(含むが:コンクリートてはなりません)
  • 予期しないサブ例外を引き起こす他のエラーが(内部例外などを確認してください)タイプ(すなわち、前に[XmlInclude]で広告されていない)
  • いくつかのメンバータイプ。 object、辞書、明白なないリストAddなど
+0

私は間違いが(少なくとも1つ)であることに気付きました。ほとんどのプロパティは読み込み専用ですが、実行時にそれらを編集することはできませんでしたが、あなたはそれを言ったので、クラスにデシリアライズする必要があるので、本当にばかげています。私は今それをチェックし、訂正の結果を掲載します。ありがとう。 PS:1つの質問、あなたがプロパティ(blah)と言ったとき、あなたはその指定のファンではありませんか?あなたはどちらを使いますか? – jaimetotal

+0

@jaimetotal - 絶対的なプロパティはデータを公開する方法です。 「ああ」は繰り返しを避けることだった。パブリックフィールドは*悪い*です。 –

関連する問題