2010-11-29 110 views
1

我正在嘗試XML序列化一個類的屬性,我用它來格式化文檔。
基本上,它是一個文檔頭和另一個類的行。對象的XML序列化與其他對象.net

類圖:

classdiagram http://yfrog.com/jyclassdiagramop

在這個類圖,我想序列化類是ExcelPrintCorteExcelCabec繼承其方法和擁有的私有成員ExcelPrintDocumento(和公共方法來獲得它)。

我的目的是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-僅限於或readonly
  • 任何標記爲[XmlIgnore]的內容都被忽略,並且還有其他一些規則,如[DefaultValue],ShouldSerialize{foo}等被觀察到

那些規則將停止什麼顯示;這將導致異常其他錯誤(檢查內部異常等):

  • 不公開(包括任何含類型)
  • 沒有公共的無參數的構造函數(包括:必須是具體的)
  • 意外子 - 類型(即之前未用[XmlInclude]公佈)
  • 某些成員類型; object,詞典,沒有明顯的名單Add
+0

現在我注意到我的錯誤是(至少一個)。大多數屬性是隻讀的,我不想在運行時編輯它們,但現在你說了,它真的很愚蠢,因爲我需要將它反序列化爲一個類。我會立即檢查併發布更正結果。謝謝。 PS:一個問題,當你說屬性(等等)時,你不是那個指定的粉絲?你使用哪個? – jaimetotal 2010-11-30 10:44:24