我是 Java 世界的新手,我需要从 .xsd 文件生成 .xml 文件
我做了一些研究,发现'jaxb'可以做到。我也找到了一些例子,但问题是,几乎所有的例子都使用'xjc'工具来做到这一点。但我想通过我的java代码来做到这一点。
这可能吗?
如果是的话,我在想这样的事情,来自我的java代码
- 加载 .xsd 文件
- 生成 .xml
- 保存 .xml 文件
有人可以指导我找到一个好的资源,或者告诉我我的想法是否错误
我认为主要问题是要以一种干净的方式来做,你应该有反映你的 xsd 的类。Xsd 定义了一个数据模型,所以重要的部分是用类重新创建它。如果你想动态地做它可能会相当困难。如果您想在编译时执行此操作 - jaxb 是您的最佳选择。有一篇非常有趣的文章讨论了与解析 xml 相关的问题(它的角度与您描述的不同),但我认为从这里可以学到很多知识:
我在使用XMLBeans方面有过很好的经验,但是我总是在编译时就可以使用 XSD。它与 Maven(以及可能的其他构建系统)很好地集成。编译生成一系列 Java 类,可用于构造符合 XSD 的 XML 文档或处理您收到的 XML 文件。
您可以使用org.apache.xmlbeans.XmlBeans.compileXsd
该类对 XSD 进行一些运行时处理,但我从未尝试过它。刚刚看到来自常见问题解答的参考。