XML:
XML是一种很流行的简单的基于文本的语言来用作应用程序之间的通信模式。它被认为是传输标准装置和存储数据。Java提供了极好的支持和丰富的库来解析,修改或查询XML文档。
XML的作用:
可以用数据交付,以及做置
建立XML约束,首先得分析xml结构
1.跟标签persons
2.persons有子标签 混合标签(有子标签)
3.person有子标签: name,age ,contact , br 混合标签(有子标签)
4.name,age 没有子标签,有内容 文本标签
5.contact 有子标签 混合标签(有子标签)
6.phone没有子标签 有内容 文本标签
7.br 即没有子标签也没有文本内容 空标签
8.email没有子标签,有内容 文本标签
标准的XML格式:
1.有且只有一个根元素
2.XML标签大小写正确区分
3.正确使用结束标签
4.正确嵌套标签
5.使用了合法的标签名
6.定义有效的属性
元素定义:
在XML中加入DTD声明<!DOCTYPE root[]>
元素的分类:
<!ELEMFNT element-name EMPTY>//空元素
<!ELEMFNT element-name(#PCDATA)>//文本元素
<!ELEMFNT element-name(e1,e2)>//混合元素
元素的限制:
与(.) 非 ( | )
次数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 phone (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT br EMPTY> <!ATTLIST person pid ID #REQUIRED sex (男|女) '男' qq CDATA #IMPLIED parent IDREF #IMPLIED > ]> <persons> <person pid="p1" sex="男" qq="aaa" 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>
属性定义:
语法:
<!ATTLIST element-nameatt_name type desc>
属性类型type:
如:ID . (男 |女 ) . CDATA= . IDREF . reference
属性描述:
#REQUIRED:必填
#IMPLIED: 非必填
'默认值'
注意:只有type为(男|女)类型时,desc才可以用默认值的方式