首页 > 代码库 > xml
xml
一、HTML和xml的区别:
html语法松散,xml语法严格
HTML做页面展示,xml做数据存储
HTML所有标签都是预定义的,xml所有标签都是自定义的。
二、xml语法:
文档声明(必须写在文档第一行 <?xml version="1.0" encoding="utf-8" ?>)
元素(有且只有一个根元素,需要正确闭合,正确嵌套,名称区分大小写,不能数字开头)
文本(CDATA区<![CDATA[数据内容]]>里边的数据会原样显示,就是为了将数据转换成文本类型)
三、xml约束:约定书写顺序书写规则书写内容
dtd约束:
内部dtd:在xml内部定义dtd
外部dtd:在外部文件中定义dtd
本地dtd文件:<!DOCTYPE student SYSTEM "student.dtd">
网络dtd文件:<!DOCTYPE student PUBLIC "名称空间" "student.dtd">
scheme:比dtd更加严谨,结构更清晰
导入xsd约束文档:
1.编写根标签
2.引入实例名称空间 xmlns:xsi="http://www.w3c.org/2001/XMLScheme-instance"
3.引入名称空间xsi:schemeLocation="http://www.ethan0603.cn/xml student.xsd"
4.引入默认名称空间
<?xml version="1.0"?>
<xsd:schema xmlns="http://www.ethan0603.cn/xml"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ethan0603.cn/xml" elementFormDefault="qualified">
<xsd:element name="students" type="studentsType"/>
<xsd:complexType name="studentsType">
<xsd:sequence>
<xsd:element name="student" type="studentType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="studentType">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="age" type="ageType" />
<xsd:element name="sex" type="sexType" />
</xsd:sequence>
<xsd:attribute name="number" type="numberType" use="required"/>
</xsd:complexType>
<xsd:simpleType name="sexType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="http://www.mamicode.com/male"/>
<xsd:enumeration value="http://www.mamicode.com/female"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ageType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="http://www.mamicode.com/0"/>
<xsd:maxInclusive value="http://www.mamicode.com/256"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="numberType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="http://www.mamicode.com/ethan0603_/d{4}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
在xml文件中引入上面的xsd文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!--
1、编写根标签
2、引入实例名称空间 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3、引入名称空间 xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
4、引入默认的名称空间
-->
<students
xmlns="http://www.ethan0603.cn/xml"
xsi:schemaLocation="http://www.ethan0603.cn/xml student.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<student number="itheima_1001">
<name>asfd</name>
<age>12</age>
<sex>male</sex>
</student>
</students>
xml