首先Schema约束文档为:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:element name="users">
<xs:complexType>
<xs:sequence>
<xs:element name="user" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"></xs:element>
<xs:element name="age" type="xs:int"></xs:element>
<xs:element name="job" type="xs:string"></xs:element>
<xs:element name="salary" type="xs:double"></xs:element>
<xs:element name="subsidy" type="xs:double"></xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:positiveInteger" use="required"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XML文档为:
<?xml version="1.0" encoding="UTF-8"?>
<users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="{users.xsd}">
<user id="1001">
<name>高淇</name>
<age>18</age>
<job>程序员</job>
<salary>30000</salary>
<subsidy>5000</subsidy>
</user>
<user id="1002">
<name>高小二</name>
<age>19</age>
<job>讲师</job>
<salary>35000</salary>
<subsidy>2000</subsidy>
</user>
<user id="1003">
<name>高小松</name>
<age>20</age>
<job>教授</job>
<salary>20000</salary>
<subsidy>3000</subsidy>
</user>
</users>
下面是XML的几种解析格式:
1、使用Java自带的DOM方式来解析
2、使用SAX方式来解析,
该方式的特点是边扫描,边解析,速度快,占用内存少
3、使用JDOM方式来解析
它是jar包,基于树形结构
4、使用DOM4J来解析