7

我怀疑是否有这样的事情,但我想问:
有谁知道Java中是否有一个库可以读取xsd文件并“创建”定义的元素,例如以字符串格式在代码中使用?
例如阅读以下架构:

<?xml version="1.0" encoding="utf-8"?>
        <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
          <xs:element name="Address">
            <xs:complexType>
              <xs:sequence>
                  <xs:element name="Street" type="xs:string" />
                  <xs:element name="Town" type="xs:string" />
                  <xs:element name="Country" type="xs:string" minOccurs="0" />
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:schema>

并具有以下格式的字符串:

<Address>  
  <Street></Street>
  <Town></Town>
  <Country></Country>
</Address>

自动工具执行类似的操作,即解析 WSDL 并从类型部分创建例如 JAXB 类,这些类可以是模式中定义的元素的实例。
有没有图书馆可以做到这一点?

更新:
例如,在 Eclipse 中,当为 Web 应用程序创建 xml 描述符时,它会显示一个树表,其中包含用户根据模式填写的所有必需元素。他们是怎么做到的呢?我想他们会解析 jar 中包含的 xsds
非常欢迎任何输入。
谢谢!

4

2 回答 2

1

oXygen 有一个 XML 实例生成器,它可以基于给定的 XML 模式生成一组 XML 文档样本。

您也可以从命令行调用它

于 2010-12-20T03:14:26.570 回答
1

如果它是您想要生成 Java 类的 WSDL 文件,则可以使用 Axis WSDL2Java(基于 JAXB)来获取基于 WSDL 中定义的模式的类。

JAXB 还提供了您可能想要查找的绑定框架。

http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/twbs_jaxbschema2java.html

上面的链接应该很有用。

于 2010-12-19T19:20:30.340 回答