XML
2019-05-10 / 技术积累 / 990 次围观 / 0 次吐槽 /XML: extensible Markup Language 可扩展标记语言 version="1.0"
可扩展:所有的标签都是自定义的。
功能:用于数据存储、配置文件、数据传输
html与xml区别:
Ø html语法松散,xml语法严格
Ø html做页面展示,xml做数据存储
Ø html所有标签都是预定义的,xml所有标签都是自定义的
xml语法
文档声明
必须写在xml文档的第一行写法:<?xml version="1.0" ?>
属性:
version:版本号 固定值 1.0
encoding:指定文档的码表。一般写utf-8,也可以 iso-8859-1
standalone:指定文档是否独立 yes 或 no 【很少用】
如果是yes,则表示这个XML文档时独立的,不能引用外部的DTD规范文件;如果是no,则该XML文档不是独立的,表示可以用外部的DTD规范文档。
元素:xml文档中的标签
文档中必须有且只能有一个根元素
元素需要正确闭合。<body></body> <br/>
元素需要正确嵌套
元素名称要遵守:
元素名称区分大小写
数字不能开头
文本
转义字符:>
CDATA: 里边的数据会原样显示,不会产生歧义
<![CDATA[ 数据内容 ]]>
属性
属性值必须用引号引起来。单双引号都行
注释
使用<!-- -->
案例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <stulist> <student id="3"> <name>AAA</name> <password>123</password> <gender>女</gender> <birthday>1983-10-11</birthday> </student> <student id="2"> <name>BBB</name> <password>123</password> <gender>女</gender> <birthday>1984-10-11</birthday> </student> <student id="3"> <!-- <![CDATA[]]> 表示转义 --> <name><![CDATA[&glt;>CCC<]]></name> <password>123</password> <gender>女</gender> <birthday>1982-10-11</birthday> </student> </stulist>
XML约束
约束的分类
dtd约束或者schema约束
dtd约束使用
第一步:创建一个student.dtd约束文件
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT students (student*) > <!ELEMENT student (name,password,gender,birthday)> <!ELEMENT name (#PCDATA)> <!ELEMENT password (#PCDATA)> <!ELEMENT gender (#PCDATA)> <!ELEMENT birthday (#PCDATA)> <!ATTLIST student number ID #REQUIRED>
ATT:Attribute 属性的意思
第二步:在xml添加约束
xml中引用dtd的方式
1.本地dtd文件:<!DOCTYPE students SYSTEM "student.dtd">
2.网络dtd文件:<!DOCTYPE students PUBLIC "名称空间" "student.dtd">
schema约束的使用
第一步:创建一个xsd约束文件
<?xml version="1.0"?> <xsd:schema xmlns="http://www.gyf.cn/xml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.gyf.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="password" type="xsd:string" /> <xsd:element name="gender" type="genderType" /> <xsd:element name="birthday" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="number" type="numberType" use="required"/> </xsd:complexType> <xsd:simpleType name="genderType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="male"/> <xsd:enumeration value="female"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="numberType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="itgyf_\d{4}"/> </xsd:restriction> </xsd:simpleType> </xsd:schema>
第二步:在xml引用xsd
导入xsd约束文档:
1.编写根标签
2.引入实例名称空间 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3.引入名称空间 xsi:schemaLocation="http://www.gyf.cn/xml student.xsd"
4.引入默认的名称空间
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.