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

使用java从.xsd创建.xml文件,java,xml,xsd,jaxb,Java,Xml,Xsd,Jaxb,我是java世界的新手,需要从.xsd文件生成.xml文件 我做了一些研究,发现“jaxb”可以做到这一点。我发现了一些,但问题是,几乎所有的示例都使用“xjc”工具来实现这一点。但我想通过java代码实现这一点 这可能吗? 如果是的话,我是这样想的,从我的java代码 加载.xsd文件 生成.xml文件 保存.xml文件 有没有人能告诉我一个好的资源,或者告诉我我的想法是否错了我有很好的使用经验,但是我总是在编译时使用XSD。它与Maven(以及潜在的其他构建系统)很好地集成。编译生成一系

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

我做了一些研究,发现“jaxb”可以做到这一点。我发现了一些,但问题是,几乎所有的示例都使用“xjc”工具来实现这一点。但我想通过java代码实现这一点

这可能吗?
如果是的话,我是这样想的,从我的java代码

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

有没有人能告诉我一个好的资源,或者告诉我我的想法是否错了

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


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

我认为主要的问题是,要以干净的方式完成这项工作,您应该有反映xsd的类。Xsd定义了一个数据模型,所以重要的部分是用类重新创建它。如果你想动态地做这件事,可能会相当困难。如果您希望在编译时执行此操作,那么jaxb就是一种选择。有一篇非常有趣的文章讨论了与解析xml相关的问题(它从与您描述的不同的角度出发),但我认为从这里可以学到很多知识:


xjc是用java编写的,可以帮助您生成从模式创建XML所需的代码。你为什么要重复这种努力?