使用Java代码进行XML验证

使用Java代码进行XML验证,java,validation,Java,Validation,可能重复: 嗨 我需要一些代码示例,演示如何根据模式验证xml文件 下面是我的XML文档。。“a.xml” 一月 21 1983 假设我要验证上述xml的模式名为“XMLValidationSchema.xsd” 现在,有人能帮我编写java代码,将这些作为输入,并给出正确的输出,比如XML文档是否是符合我指定模式的有效文档…您需要一个“验证XML解析器”来完成这项工作;有很多选择 实际上,JDK附带了一个验证解析器(从JDK5开始) 这是一个很好的关于如何验证文档的教程: 它有完整

可能重复:

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

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


一月
21
1983
假设我要验证上述xml的模式名为“XMLValidationSchema.xsd”


现在,有人能帮我编写java代码,将这些作为输入,并给出正确的输出,比如XML文档是否是符合我指定模式的有效文档…

您需要一个“验证XML解析器”来完成这项工作;有很多选择

实际上,JDK附带了一个验证解析器(从JDK5开始)

这是一个很好的关于如何验证文档的教程:

它有完整的代码示例


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

这是我已经尝试过的代码的副本。。
<?xml version="1.0"?>

<birthdate>
    <month>January</month>
    <day>21</day>
    <year>1983</year>
</birthdate>
<?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>