我有个问题:
I. QUESTION
有没有一种基于 Java 的库,我可以通过它(提前)读取/加载其 XSD 来检索 XML 元素的顺序?
二.背景
我正在开发的应用程序应该生成各种类型的 XML(提要),每个 XML 都基于给定的架构 (XSD)。
重点是我无法使用标准方法进行序列化 - JAXB,因为我应该通过 Apache Abdera 逐渐生成/流式传输 XML。因此,我应该将我的 Java 域对象“序列化”到 XML(提要)中,根据其中的信息创建不同标签的值,并按照 XSD 定义的顺序将这些标签一一写入到输出流中。
三.所需的功能
目前,我有一个序列化器,它以上述方式将我的域对象转换为 xml,但很快它将需要支持多种类型的模式,并且它不容易维护(更不用说它是非常容易出错)。
四.潜在的解决方案
所以,我想做XML 模式无关的序列化器并将为不同 xml 元素创建值的工作委托给一些专用的构建器或工厂。不过,它们的调用顺序应该由架构中 xml 元素的顺序来定义。
这是我开始时提出的问题:
有没有一种基于 Java 的库,我可以通过它(提前)读取/加载其 XSD 来检索 XML 元素的顺序?
五、如果有这样的图书馆...
概括地说,序列化器需要做的是:
- 按照 XSD 中定义的顺序加载 xml 元素(标签)的类型(当然还有它们的限制)
- 按照加载顺序迭代 xml 元素的加载类型,并
- 对于识别的每个 xml 元素类型,将相应元素的内容构建委托给关联的构建器或工厂。
- 有了构建器/工厂构建的值,序列化器只需用元素的标签包装它并将其刷新到输出流中。
提前致谢!
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)