0

我的要求是读取一个 XSD 文件并在 java 中获取其所有具有相应属性的元素。我一直在尝试将我的 XSD 文件转换为示例 XML 文件,因为解析 XML 文件以获取它的所有元素和属性很容易。但到目前为止,我一直无法在 java 中找到足够好的工具来以编程方式将我的 XSD 转换为示例 XML。

是否有任何免费且良好的 Java 代码可用于将 XSD 转换为其示例 XML?

或者,我可以通过什么方式直接从 XSD 文件中读取示例 XML 将包含的所有元素和属性?

提前致谢!

4

4 回答 4

2

将原始 XSD 文档处理为 XML 非常棘手,除非在非常简单的情况下。

替代方案是:

(a) 使用 API 来访问已编译的模式(例如,Xerces 中有这样的 API)

(b) Saxon 的模式处理器可以输出已编译模式的 XML 表示,这比原始 XSD 文档更容易处理(例如,它将所有内容组合到一个文档中,并以统一的方式呈现元素与类型的关系)。

于 2013-09-06T07:32:52.043 回答
0

xsd 格式是完全有效的 XML,因此您可以使用任何 xml 解析器解析 XML 模式文件。

查看此相关帖子以获取一些代码示例和想法:

用于解析 XSD 模式文件的 Java API

于 2013-09-06T06:54:18.940 回答
0

不确定这是否能解决问题。我对访问 xsd 的元素和属性有类似的要求。使用 Eclipse,从 xsd 创建 XML 的解决方案非常简单。我创建了一个动态 Web 项目并将我的 xsd 放入 webcontent。右键单击 XSD,有一个名为“生成”的选项。它显示了生成 XML 或 JAXB 类的 2 个选项。单击生成 XML 时,会从 XSD 创建 XML 文件。我希望你正在寻找这个解决方案。

于 2013-10-25T09:45:50.513 回答
-1

java中有一个工具可以将我的XSD转换为示例XML。您需要在项目的构建路径中添加 jaxb-xjc(可执行 jar 文件)。完成后,只需将 .xsd 文件放入 src,右键单击它并找到“生成”选项,您现在可以找到针对“生成”选项的 XML 和 Jaxb 类,选择 Xml 并获取从 .xsd 生成的 XML 文件。

于 2014-12-03T05:35:18.193 回答