我怀疑是否有这样的事情,但我想问一下:
有谁知道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
任何输入都是非常欢迎的。
谢谢!
最佳答案
如果它是您要用来生成Java类的WSDL文件,则可以使用Axis WSDL2Java(基于JAXB)基于WSDL中定义的模式来获取类。
JAXB还提供了您可能要查找的绑定(bind)框架。
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/twbs_jaxbschema2java.html
上面的链接应该很有用。