我对Java世界还很陌生,但我有一个从.xsd文件生成.xml文件的需求。
我进行了一些调查,发现可以使用'jaxb'来实现。我找到了一些示例,但问题是,几乎所有的示例都使用'xjc'工具来完成这个过程。但我想要通过我的Java代码来实现。
这是否可能?
如果是,我考虑像这样从我的Java代码开始:
- 加载.xsd文件
- 生成.xml文件
- 保存.xml文件
能否有人指引我一个好的资源或告诉我我的想法是否正确?
我对Java世界还很陌生,但我有一个从.xsd文件生成.xml文件的需求。
我进行了一些调查,发现可以使用'jaxb'来实现。我找到了一些示例,但问题是,几乎所有的示例都使用'xjc'工具来完成这个过程。但我想要通过我的Java代码来实现。
这是否可能?
如果是,我考虑像这样从我的Java代码开始:
能否有人指引我一个好的资源或告诉我我的想法是否正确?
我使用XMLBeans有很好的经验,但我一直在编译时有XSD可用。它与Maven(以及其他构建系统)很好地集成。编译会产生一系列Java类,可以用于构造符合XSD的XML文档或处理您收到的XML文件。
您可以使用org.apache.xmlbeans.XmlBeans.compileXsd
类对XSD进行一些运行时处理,但我从未尝试过。只是从FAQ中看到了一个参考。
我认为主要问题在于,为了以一种干净的方式完成它,您应该拥有反映您的xsd的类。 Xsd定义了数据模型,因此重要的部分是使用类重新创建它。如果您想要动态执行它,可能会相当困难。如果您想在编译时执行它- jaxb是正确的方法。有一篇非常有趣的文章谈论与解析xml相关的问题(它从不同的角度进行描述),但我认为这里有很多知识可以学习: