我正在研究一个使用简单模板语言为遗留系统生成XML的现有系统。这显然不理想,因为很难看到生成的XML的结构,它遇到了逃避问题,并且很容易生成无效的XML。
对于任何理智的XML格式,我只是Xstream或其他Java XML序列化库,但是这个遗留系统有很多奇怪的规则,例如“如果值小于10则应排除此节点”和“格式化节点x中的日期取决于节点y“的值。还有其他奇怪的规则,但这应该足以得到这个想法。
正如我所说,模板方法远非理想,但它是务实的并且有效(通过一些努力)。有没有更好的方法来处理使用这种格式规则为遗留系统生成XML?我已经想到了XSL,但是在XSL中实现任何数量的逻辑都不是很诱人。
答案 0 :(得分:2)
基本上,在序列化过程中需要一些自定义逻辑。我猜测内存中的对象结构没有直接镜像在XML结构中?备选方案:
甚至不要考虑用java之外的任何东西来表达你的自定义逻辑,即一些“超级”框架。
答案 1 :(得分:1)
我不确定,如果这是您正在寻找的,但也许像JAXB一样尝试XML绑定......
换句话说:您可以从xsd-Schema生成一个类库,然后在java代码中构建对象图,然后在一次调用xml中对其进行序列化。
答案 2 :(得分:0)
我可以使用简单的xml和一些转换器:
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php