2012-02-13 26 views
0

我們使用Castor將Castor對象解組爲XML字符串。 Castor不會爲null對象生成Empty標籤。是否有可用的API將它設置爲解組時的參數?Castor Marshaller返回null對象的空標記

有一種方法可以通過使用處理程序並覆蓋convertUponGet方法來返回空字符串來處理它。但是,有沒有更好的做法呢?

任何線索都有幫助。

回答

0

從我所看到的有3種方式處理這種情況,從最好到最差。

  1. 使用GeneralizedFieldHandler,如http://stackoverflow.com/questions/9176479/how-to-tell-castor-to-marshall-a-null-field-to-an-empty-tag中所述。該字段處理程序可以重用於其他字段,並且不會更改您的類的行爲。

  2. 修改給定字段的get方法來檢查空值,如果爲空則返回空字符串。這種方法改變了你的類的行爲,所以如果你的代碼的其他部分依賴於這個字段的空值,這也不是一個好主意,你會遇到問題。

  3. 修改Castor以在遇到null時返回空字符串。通常改變你正在使用的工具是一個非常糟糕的主意,除非你將它提交給項目開發者,以便將其集成到他們的代碼庫中以用於將來的版本。這似乎不太可能,因爲這個問題早在2007年被提出http://old.nabble.com/Forcing-marshalling-of-null-empty-values--to9080721.html#a9096375如果不是早些時候