使用Java代码进行XML验证

时间:2010-10-25 08:37:22

标签: java validation

  

可能重复:
  XML validation using Java Code

您好,

我需要一些代码示例,它显示了如何根据模式验证xml文件...

下面是我的XML文档..“a.xml”

<?xml version="1.0"?>

<birthdate>
    <month>January</month>
    <day>21</day>
    <year>1983</year>
</birthdate>

假设我要验证上述xml的模式如下所示“XMLValidationSchema.xsd”

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
        schemaLocation="http://www.w3.org/2001/xml.xsd" />

  <xs:element name="birthdate">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="month" type="xs:string" />
        <xs:element name="day" type="xs:int" />
        <xs:element name="year" type="xs:int" />
      </xs:sequence>  
    </xs:complexType>
  </xs:element>

</xs:schema>

现在有人可以帮助我编写将这些作为输入的java代码,并提供正确的输出,就像XML doc是根据我指定的模式的有效doc一样...

1 个答案:

答案 0 :(得分:1)

您需要一个“验证XML解析器”才能执行此操作;有很多选择。

实际上,JDK附带了一个验证解析器(自JDK 5起)。

这是一个很好的教程,用于验证文档:

http://java.sun.com/developer/technicalArticles/xml/validationxpath/

它有完整的代码示例。

如果您使用不同的解析器,原理将类似(尽管使用的确切代码可能略有不同)。