目录
1:可作数据交互(注:在JSON出来之后相对于XML,JSON传输数据体积更小更加方便)
一.XML的特点及作用
1:可作数据交互(注:在JSON出来之后相对于XML,JSON传输数据体积更小更加方便)
2:做配置使用
二.XML的标准格式
1.有且只有一个根元素
当XML文件中出现一个以上根节点时,程序在编译时就会发生报错
2.XML标签区分大小写
当XML文件中出现大小写字母不同时, 编译发生报错
3.正确的使用结束标签
4.正确的嵌套标签
5.使用合法的标签名
6.定义有效的属性
三.DTD元素的约束
1.元素的定义
(1):常见元素分类
<!ELEMENT 节点名称 EMPTY> EMPTY 代表空元素 <!ELEMENT br EMPTY> <!ELEMENT 节点名称 (#PCDATA)> #PCDATA 代表文本元素,里面的内容必须是文本 <!ELEMENT name (#PCDATA)> <!ELEMENT 节点名称 (e1,e2)> (e1,e2) 代表混合元素,表示这个标签里面还有其他的节点 <!ELEMENT person (name,age,contact,br*)>
(2).常见元素限制
与( , ) 非 ( | )
次数:0或1:?0~N:*1~N:+
案例:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persons [ <!ELEMENT persons (person*)> <!ELEMENT person (name,age,contact,br?)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT contact (phone|email)> <!ELEMENT br EMPTY> ]> <persons> <person> <name>死仔</name> <age>10</age> <contact> <phone>1234567</phone> </contact> <br/> </person> <person> <name>小刘</name> <age>35</age> <contact> <email>123@qq.com</email> </contact> </person> </persons>
四:DTD属性的约束
案例:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persons [ <!ELEMENT persons (person*)> <!ELEMENT person (name,age,contact,br?)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT contact (phone|email)> <!ELEMENT br EMPTY> <!ATTLIST person PID ID #REQUIRED SEX (男|女|'未知') '未知' QQ CDATA #IMPLIED PARENT IDREF #IMPLIED > ]> <persons> <person pid="p1" sex="男" qq="123" parent="p2"> <name>死仔</name> <age>10</age> <contact> <phone>1234567</phone> </contact> <br/> </person> <person pid="p2"> <name>小刘</name> <age>35</age> <contact> <email>123@qq.com</email> </contact> </person> </persons>