使用Java从XSD创建XML文件

4

我对Java世界还很陌生,但我有一个从.xsd文件生成.xml文件的需求。

我进行了一些调查,发现可以使用'jaxb'来实现。我找到了一些示例,但问题是,几乎所有的示例都使用'xjc'工具来完成这个过程。但我想要通过我的Java代码来实现。

这是否可能?
如果是,我考虑像这样从我的Java代码开始:

  • 加载.xsd文件
  • 生成.xml文件
  • 保存.xml文件

能否有人指引我一个好的资源或告诉我我的想法是否正确?


1
xjc是用Java编写的,旨在帮助您生成从模式创建XML所需的代码。为什么要重复这种努力呢? - shyam
2个回答

0

我使用XMLBeans有很好的经验,但我一直在编译时有XSD可用。它与Maven(以及其他构建系统)很好地集成。编译会产生一系列Java类,可以用于构造符合XSD的XML文档或处理您收到的XML文件。

您可以使用org.apache.xmlbeans.XmlBeans.compileXsd类对XSD进行一些运行时处理,但我从未尝试过。只是从FAQ中看到了一个参考。


0

我认为主要问题在于,为了以一种干净的方式完成它,您应该拥有反映您的xsd的类。 Xsd定义了数据模型,因此重要的部分是使用类重新创建它。如果您想要动态执行它,可能会相当困难。如果您想在编译时执行它- jaxb是正确的方法。有一篇非常有趣的文章谈论与解析xml相关的问题(它从不同的角度进行描述),但我认为这里有很多知识可以学习:

http://elegantcode.com/2010/08/07/dont-parse-that-xml/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接