【发布时间】:2012-04-15 15:16:02
【问题描述】:
我遇到了可读性和跨平台问题。
我们使用某些类和子类即时生成我们的 UI。例如,我将使用基本元素(不是 UI 元素),但我认为“问题”应该很明显。
我问是否在 Simple (http://simple.sourceforge.net/home.php) 中有任何配置开关以达到预期的结果。如前所述,它与另一个平台的可读性有关,如果我只需要针对 JAVA,我不会关心 XML 的外观。
所以,在我的例子中,我序列化了一个简单的类,结果是:
<GuiElementExamples>
<LastCreated>2012-04-15 16:48:59.813 CEST</LastCreated>
<NonGuiObject>
<objectBase class="objects.single.simple.StringObject" _value="">
<_readonly>false</_readonly>
</objectBase>
<objectBase class="objects.single.simple.StringProperty">
<_items>
<object class="objects.single.simple.StringObject" _value="Label">
<_readonly>true</_readonly>
</object>
<object class="objects.single.simple.StringObject" _value="">
<_readonly>false</_readonly>
</object>
</_items>
<_readonly>false</_readonly>
</objectBase>
</NonGuiObject>
</GuiElementExamples>
我最想拥有的是(我会以手工制作为例),是这样的:
<GuiElementExamples>
<LastCreated>2012-04-15 16:48:59.813 CEST</LastCreated>
<NonGuiObject>
<StringObject _value="">
<_readonly>false</_readonly>
</StringObject>
<StringProperty>
<_items>
<StringObject _value="Label">
<_readonly>true</_readonly>
</StringObject>
<StringObject _value="">
<_readonly>false</_readonly>
</StringObject>
</_items>
<_readonly>false</_readonly>
</StringProperty>
</NonGuiObject>
</GuiElementExamples>
我知道类名不会有冲突,我可以使用的一个选项是简单的搜索和替换脚本,但也许有一个选项可以配置“简单”以导出如上所示的内容。
我知道如果不运行,就无法以上述格式反序列化内容,例如之前提到的脚本,因为没有完全限定的类名,简单无法知道要创建哪个对象..
感谢您提供任何帮助或解决方法, 克里斯
【问题讨论】:
标签: java xml serialization