作为我们应用程序的一部分,我们需要开发一个接收XSD架构并提供示例XML的模块。 XSD架构将在运行时提供。那么有没有可以完成这项工作的Java API?
搜索此论坛并发现以下类似问题。但讨论围绕着从XSD生成示例XML的工具。找不到任何API的参考 how-to-generate-sample-xml-documents-from-their-dtd-or-xsd
tool-to-generate-xml-file-from-xsd-for-testing
xml-instance-generation-from-xml-schema-xsd
答案 0 :(得分:4)
我发现java API可以从XSD生成XML样本 http://code.google.com/p/jlibs/wiki/XSInstance,
答案 1 :(得分:1)
没有这样的API,但它是可能的。
'发出示例XML'意味着您必须从XSD基本类型(如<xs:element name="value" type="xs:integer" minOccurs="0"/>
)实现样本XML节点的生成,处理minoccurs / maxoccurs属性,而不是在xs:integer
个节点中存储日期等等。
一旦完成,剩下的就不是问题了:使用XPath
或org.w3c.dom.*
遍历XSD,展平复杂类型和扩展将会解决问题。我打赌你会在发布问题后的几分钟内在stackoverflow上收到工作遍历代码。