读取XSD文件以获取Java中的所有元素和相应属性

时间:2013-09-06 06:47:21

标签: java xml xsd

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

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

或者我可以通过什么方式读取样本XML直接包含在XSD文件中的所有元素和属性?

提前致谢!

4 个答案:

答案 0 :(得分:1)

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

替代方案是:

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

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

答案 1 :(得分:0)

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

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

Java API to parse XSD schema file

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

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