一. XML是什么
1.1 XML是一种可扩展标记语言(EXtensible Markup Language)。
1.2 XML被设计用来传输和存储数据。
1.3 XML标签没有被定义,需自行定义。
二. XML的作用
2.1 数据交互
2.2 做配置
三. 标准的XML格式
3.1 有且只有一个根元素。
类似于HTML中的标签,有且只有一个
3.2 XML标签正确区分大小写。
3.3 XML的开始标签和结束标签必须配套。
<message>这是错误的,大小写不一致,不配套</Message> <message>这是正确的</message>
3.4 正确使用嵌套标签。
<person id="p1" sex="男" text="aaa" brother="p2"> <name>无小花</name> <age>18</age> <sex>男</sex> <contact> <phone>19110392918</phone> </contact> <br/> </person>
3.5 使用合法的标签名。
名称可以包含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字母 xml(或者 XML、Xml 等等)开始
名称不能包含空格
3.6 定义有效的属性。
属性不能包含多个值(元素可以)
属性不能包含树结构(元素可以)
属性不容易扩展(为未来的变化)
尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
四. 元素的定义
4.1 在XML加入DTD声明
<!DOCTYPE root[]>
4.2 元素的分类
<!ELEMENT elemaent-name EMPTY>//空元素 <!ELEMENT elemaent-name (#PCDATA) >//文本元素 <!ELEMENT elemaent-name (e1,e2)>//混合元素
4.3 元素的限制
五. 属性定义
5.1 语法:
<!ATTLIST element-name att-name type desc>
5.2 属性类型type
ID 节点的这个属性值都必须唯一,不能重复。 (值1|值2) 表示该属性值必须是值1或者是值2。 CDATA 该类型表示该属性值必须为文本类型。 IDREF 该类型表示该属性指向另外一个同级节点,通过ID值。
5.3 属性描述
#REQUIRED 属性值是必填的
#IMPLIED 属性值是非必填的
默认值 :
注意:只有type为(值1|值2)类型时,desc才可以用默认值的方式。
#FIXED 属性值是固定的
代码示例