使用java从.xsd创建.xml文件

时间:2012-10-15 09:03:49

标签: java xml xsd jaxb

我是java世界的新手,我需要从.xsd文件生成.xml文件

我做了一些研究,发现'jaxb'可以做到。我找到了一些example too,但问题是,几乎所有的例子都使用'xjc'工具来做到这一点。但是我希望通过我的java代码来实现这一点。

这可能吗?
如果是的话,我正在考虑这样的事情,来自我的java代码

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

有人可以指导我找到一个好的资源,或者告诉我我的想法是否错误

2 个答案:

答案 0 :(得分:0)

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

您可以使用org.apache.xmlbeans.XmlBeans.compileXsd类对XSD进行一些运行时处理,但我从未尝试过它。刚看到常见问题解答中的参考资料。

答案 1 :(得分:0)

我认为主要问题是要以干净的方式进行,你应该有反映你的xsd的类。 Xsd定义了一个数据模型,因此重要的部分是用类重新创建它。如果你想动态地做它可能会相当困难。如果你想在编译时这样做 - jaxb是要走的路。有一篇非常有趣的文章讨论与解析xml相关的问题(它来自与你描述的不同的观点),但我认为从这里可以学到很多知识:

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