`

使用schema校验xml

    博客分类:
  • xml
阅读更多
一、背景
在大型的项目开发中,我们往往要是用xml进行一些规范化的处理。这时候就需要有高手先做好上层的一些规则。这时候往往就会用到schema对xml进行一个规范化的校验

二、代码实践

我们以公司和员工为例来实践一下。

1、创建公司校验schema:CompanySchema.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://www.example.org/company" 
		xmlns:tns="http://www.example.org/company"> 
	<xsd:element name="emp" type="tns:empType"/>
	<xsd:complexType name="empType">
		<xsd:sequence>
			<xsd:element name="empName" type="xsd:string"/>
			<xsd:element name="empId" type="tns:empIdType"/>
			<xsd:element name="sex" type="tns:sexType"/>
			<xsd:element name="age" type="tns:ageType" />
			<xsd:element name="email" type="tns:emailType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="empIdType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1" />
			<xsd:maxExclusive value="100000" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="sexType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="男" />
			<xsd:enumeration value="女" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="ageType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1" />
			<xsd:maxExclusive value="120" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="emailType">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="(\w+\.*)*\w+@\w+\.[A-Za-z]{2,6}" />
			<xsd:minLength value="6" />
			<xsd:maxLength value="255" />
		</xsd:restriction>
	</xsd:simpleType>

</xsd:schema>


2、创建员工校验schema:EmpSchema.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://www.example.org/company" 
		xmlns:tns="http://www.example.org/company"> 
	<xsd:element name="emp" type="tns:empType"/>
	<xsd:complexType name="empType">
		<xsd:sequence>
			<xsd:element name="empName" type="xsd:string"/>
			<xsd:element name="empId" type="tns:empIdType"/>
			<xsd:element name="sex" type="tns:sexType"/>
			<xsd:element name="age" type="tns:ageType" />
			<xsd:element name="email" type="tns:emailType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="empIdType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1" />
			<xsd:maxExclusive value="100000" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="sexType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="男" />
			<xsd:enumeration value="女" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="ageType">
		<xsd:restriction base="xsd:int">
			<xsd:minInclusive value="1" />
			<xsd:maxExclusive value="120" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="emailType">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="(\w+\.*)*\w+@\w+\.[A-Za-z]{2,6}" />
			<xsd:minLength value="6" />
			<xsd:maxLength value="255" />
		</xsd:restriction>
	</xsd:simpleType>

</xsd:schema>


3、创建公司xml:Company.xml

<?xml version="1.0" encoding="UTF-8"?>
<Company xmlns="http://www.example.org/company" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.example.org/company">

	<companyName>中国实业集团</companyName>
	<comppanyAddress>北京市朝阳区呼家楼</comppanyAddress>
	<companyEmail>gxsenjoy@163.com</companyEmail>
	<emp>
		<empName>王刚</empName>
		<empId>12345</empId>
		<sex>男</sex>
		<age>100</age>
		<email>wanggang@sino.com</email>
	</emp>
	<emp>
		<empName>瓜瓜</empName>
		<empId>100</empId>
		<sex>男</sex>
		<age>100</age>
		<email>guagua@sino.com</email>
	</emp>
</Company>



4、注意点

要将EmpSchema.xsd,CompanySchema.xsd的命名空间定义成一样的
分享到:
评论

相关推荐

    通过Schema验证XML格式是否正确

    综上所述,"通过Schema验证XML文件格式是否正确"这个主题涵盖的内容广泛,涉及到XML基础、Schema规范、C#编程以及XML处理的技巧,对于开发和维护涉及XML数据的应用来说,这些都是必不可少的知识点。

    根据xml schema生成xml

    2. **验证XML文档**:使用XML解析器或者XML Schema处理器(如Java的JAXB、Apache XMLBeans等)来检查XML文档是否符合XSD的定义。验证过程能发现并报告不符合规范的元素或属性。 3. **根据XML Schema生成XML**:在...

    Java通过XML Schema校验XML

    ### Java通过XML Schema校验XML #### 背景与挑战 XML(可扩展标记语言)作为一种标准的数据交换格式,在Web服务、配置文件以及其他多种应用领域有着广泛的应用。随着XML的普及,对于XML数据有效性的校验变得越来越...

    c# XML 验证器 Schema验证XML

    标题"XML 验证器 - C#中的Schema验证XML"着重强调了使用C#来验证XML文档是否符合预定义的XML Schema。XML Schema是W3C标准,用于定义XML文档的结构和数据类型,确保数据的一致性和准确性。 描述中提到的"博文链接:...

    Schema教程 xml

    XML Schema定义(XSD)使用XML语法,使得XML文档的验证和处理更加方便。在这个教程中,我们将深入探讨XML Schema的核心概念、优势以及如何在实际应用中使用。 1. XML Schema简介 XML Schema的主要目标是定义XML文档...

    XML与XMLSchema

    XML Schema是XML文档的验证工具,它定义了一种形式化的语言来描述XML文档的结构和数据类型。XML Schema组成元素包括: - **数据类型**:如字符串、整数、日期等,用于限制元素或属性的值。 - **元素声明**:定义元素...

    理解XML Schema XML Schema进阶

    XML Schema是目前国际标准的XML建模工具,本文将对XML Schema进行详细的介绍,帮助读者初步掌握XML Schema的使用方法和XML Schema文档实例的具体语义。 1. 命名空间的使用 XML Schema中命名空间的使用是非常重要的...

    XSD根据xml生成schema文件

    本篇文章将深入探讨如何根据XML文件生成对应的XSD schema文件,以便更好地管理和验证XML文档。 首先,我们需要理解XSD的作用。XSD文件定义了一系列规则,这些规则描述了XML文档应该包含哪些元素、属性,以及它们...

    XML文件XML Schema.docXML Schema.doc

    1. 验证XML文档是否符合预期的形式 2. 快速检查输入是否大体上符合预期的形式 3.Early detection of problems in data 4. 提高数据的可靠性和一致性 在Java中,XML Schema的验证可以使用javax.xml.validation包,...

    XML Schema教程

    - **在应用程序中使用 XML Schema**:XML Schema 可以用于验证 XML 数据的有效性,确保其符合预期的结构和格式要求。 #### 四、XML Schema 标准 - **XML Schema 是 W3C 标准**:XML Schema 在 2001 年成为了万维网...

    XML Schema xsd XML Schema xsd

    3. 验证 XML 文档:XML 解析器或验证工具会根据 Schema 对文档进行验证,发现并报告任何不符合 Schema 规则的问题。 例如,一个简单的 XML 文档可能如下所示: ```xml &lt;?xml version="1.0"?&gt; ...

    XML Schema 与 XML DTD的技术比较与分析

    XML Schema可以直接使用XML工具处理,无需额外学习新的语法,同时也继承了XML的自描述性和可扩展性。这种一致性还使得XML Schema能够与被描述的XML文档一起存储,便于管理和模式交换。此外,XML Schema的合法性验证...

    XML Schema初窥

    XMLSpy是一款流行的XML编辑器和开发工具,支持创建、编辑和验证XML Schema文档。它提供了图形化界面,方便用户编写和管理模式文档,提高了开发效率。 总结来说,XML Schema提供了一种强大且灵活的方式,用于定义和...

    XML详解----Schema(精讲)

    * 文档验证:XML Schema可以用于验证XML文档的正确性,确保文档符合预定义的结构和内容。 * 数据存储:XML Schema可以用于定义数据存储的格式和结构,确保数据的正确性和一致性。 XML Schema的优点: * 提高数据...

    XML与WEB Service技术(微软):实验五 在XML文档中使用Schema .doc

    同时,本实验也可以帮助学生更好地理解XML文档的结构和约束,并掌握如何使用XML Schema来描述和验证XML文档。 知识点: 1. XML Schema的定义和应用 XML Schema是一种基于XML的模式语言,用于定义XML文档的结构和...

    C_code_display_XML_data_schema.rar_XML SCHEMA C#_xml schema_xml

    至于XML Schema,C#提供了`System.Xml.Schema.XmlSchemaSet`类来加载和验证XML文档的XSD。以下是如何加载并验证XML文档的示例: ```csharp using System.Xml.Schema; // 创建XmlSchemaSet实例 XmlSchemaSet schema...

    XML Schema 的简介

    XML Schema 使用 XML 语法,具有很多好处: * 不必学习新的语言 * 可使用 XML 编辑器来编辑 Schema 文件 * 可使用 XML 解析器来解析 Schema 文件 * 可通过 XML DOM 来处理 Schema * 可通过 XSLT 来转换 Schema XML...

    java中实现xmlschema验证文件借鉴.pdf

    在Java中,XML Schema(XSD)用于定义和验证XML文档的结构和数据类型,确保文档遵循特定的规范。XML Schema文档使用XML语法定义了一系列规则,这些规则描述了有效XML文档应该具有的元素、属性、数据类型以及它们之间...

    DTD和Schema规范XML文档

    [实验目的]: 1、掌握使用XMLSpy软件创建DTD和Schema文档 2、掌握在XML文档如何引入DTD和Schema,并验证有效 3、掌握DTD中声明元素、属性的方法 4、掌握Schema中声明元素,属性,类型的方法

    XmlSchema标准参考手册

    手册还将详细介绍如何在实际应用中验证XML文档是否符合Schema定义,以及处理错误和警告的方法。 XML Schema对于XML的规范化和结构化处理有着至关重要的作用,特别是在企业级应用程序、Web服务和数据交换等场景中。...

Global site tag (gtag.js) - Google Analytics