当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

通过XSD验证XML

发表于: 2014-12-08   作者:antlove   来源:转载   浏览:
摘要: 1. XmlValidation.java package xml.validation; import java.io.InputStream; import javax.xml.XMLConstants; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schem

1. XmlValidation.java

package xml.validation;

import java.io.InputStream;

import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

public class XmlValidation {
	public static void main(String[] args)throws Exception {
		SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
		
		InputStream schemaInputStream = XmlValidation.class.getResourceAsStream("students.xsd");
		
		Schema schema = schemaFactory.newSchema(new StreamSource(schemaInputStream));
		
		Validator validator = schema.newValidator();
		
		InputStream xmlInputStream = XmlValidation.class.getResourceAsStream("students.xml");
		StreamSource source = new StreamSource(xmlInputStream);
		
		validator.validate(source);
		
		
	}
}

 

2. students.xsd

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="student">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="name" type="xs:string"/>  
          <xs:element name="birthday" type="xs:string"/>
          <xs:element name="skill" type="xs:string" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
    
</xs:schema>

 

3. students.xml

<student>
	<name>李华</name>
	<birthday>1978.9.12</birthday>
	<skill>Java</skill>
	<skill>Oracle</skill>
	<skill>C Sharp</skill>
	<skill>SQL Server</skill>
</student>

 

通过XSD验证XML

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
假使说XML是一个数据库,那么XSD就是这个数据库的结构。由此可见,XSD是如此重要,如果没有它,我们
假使说XML是一个数据库,那么XSD就是这个数据库的结构。由此可见,XSD是如此重要,如果没有它,我们
假使说XML是一个数据库,那么XSD就是这个数据库的结构。由此可见,XSD是如此重要,如果没有它,我们
假使说XML是一个数据库,那么XSD就是这个数据库的结构。由此可见,XSD是如此重要,如果没有它,我们
很早以前看过一句话:“XML就象空气”,在企业应用开发中XML是一个重要的数据交换标准。而XSD则可以
理解XML Schema: XML Schema 初步 (I)、简单类型示例、列表类型xsd:list、联合类型xsd:union 概念:
理解XML Schema: XML Schema 初步 (I)、简单类型示例、列表类型xsd:list、联合类型xsd:union 概念:
今天是2011/10/13日,下面我将详细的说明XML schema(XSD)的编写 1.xsd 是xml的扩展语言,它是一种
By Trung Ha August 30, 2006 This tutorial will use the catalog.xsd from the "Editing and vali
  XSD提供了数据类型,并且支持自定义数据类型,但这一切都是建立在XSD内置数据类型和一套扩展内
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号