【发布时间】:2010-06-11 10:27:09
【问题描述】:
我想知道如何使用 XSD 验证 XML。 XML 不是元素类型,而是复杂类型。由于验证器类的验证方法只比较元素类型。
所以基本上我想用 XML 来验证 XSD 的复杂类型。
例如
下面的基本 XSD
xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element name="Dob" type="xs:date" />
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="Line1" type="xs:string" />
<xs:element name="Line2" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
我们可以假设 Customer 元素中有多个复杂类型。
我的 XML 是
<Address>
<Line1>34 thingy street, someplace</Line1>
<Line2>sometown, w1w8uu </Line2>
</Address>
我如何使用 XSD 验证我的 XML。 请在 java 中发表您的建议
【问题讨论】:
-
“请用 java 发表你的建议”是一种很好的表达“给我代码”的方式,但本质上还是一样的。请下次发布您自己的代码以及您遇到的问题的说明,以便人们看到您不只是懒惰。
-
嗨,Tomalak,这与懒惰无关。有些功能以一种语言提供,而在其他语言中不可用。可以用其他语言给出一个解决方案,这在 java 中可能是不可能的。
-
你尝试了什么,你得到了什么错误?
Validator.validate()确实根据模式验证 xml,那么您还需要什么?