XML:可扩展标记语言
主要用于保存和传输数据
第一行:XML声明,包括版本号与字符集
有且仅有一个根节点
标签书写规则与html相同
标签名使用英文小写字母,单词之间用-分割,有意义
属性:分组时常使用
处理特殊字符:实体引用,CData标签
实体引用:
CDATA标签:不应由xml解析器进行解析的文本数据
<![CDATA[
内容
]]>
有序的子元素:xml多层嵌套的子元素中,顺序应一致
语义约束
DTD
定义hr的子节点employee
<!ELEMENT hr (employee)>
定义employee的子节点name,sex,age
<!ELEMENT employee (name,sex,age)>
name为文本类型
<!ELEMENT name (#PCDATA)>
子节点employee个数>=1
<!ELEMENT hr (employee+)>
子节点employee个数>=0
<!ELEMENT hr (employee*)>
子节点employee个数<=1
<!ELEMENT hr (employee?)>
编译节点employee的no属性
<!ATTLIST employee no CDATA "">
xml引用DTD文件
XML Schema
W3C标准,.xsd文件
根节点
<element name="hr">
complexType标签含义是复杂节点,包含子节点时必须使用这个标签
<sequence>
sequence里面的子节点必须按顺序进行严格书写
<element name="age" >
<simpleType>//简单类型约束
<restriction base="integer">//整数方面的限制
<minInclusive value="18"></minInclusive>//最小整数
<maxInclusive value="60"></maxInclusive>//最大整数
</restriction>
</simpleType>
</element>
</sequence>
<attribute name="no" type="string" use="required"></attribute>
use="required"意为:xml中每个子节点都有no属性
</complexType>
</element>
xml绑定Scheme
在xml文件根节点中,如:
为根节点
<hr xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hr.xsd">
hr.xsd为Scheme文件名
<element name="employee" minOccurs="1" maxOccurs="9999">
employee节点最少出现1次,最多出现9999次