一、xml之dtd
1.1xml和dtd文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persions [ <!-- ? 表示0次或者1次 * 表示0次或者多次 + 表示1次或者多次 默认表示1次 --> <!ELEMENT persons (person+)> <!ELEMENT person (name,password,age)> <!--定义属性 #REQUIRED 表示必须的--> <!ATTLIST person sex CDATA #REQUIRED> <!ATTLIST person id ID #REQUIRED> <!ELEMENT id (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT password (#PCDATA)> <!ELEMENT age (#PCDATA)> ]> <persons> <person id="p1" sex="男"> <name>张三</name> <password>123456</password> <age>20</age> </person> <person id="p2" sex="女"> <name>李四</name> <password>123456</password> <age>22</age> </person> </persons>
2.1 一般xml文件和dtd不会在同一个文件中存在。实现dtd和xml文件分离
2.1.1 dtd文件
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT classroom (cname,grade,students)> <!ATTLIST classroom id ID #REQUIRED> <!ELEMENT cname (#PCDATA)> <!ELEMENT grade (#PCDATA)> <!ELEMENT students (student+)> <!ELEMENT student (id,sname,age)> <!ELEMENT id (#PCDATA)> <!ELEMENT sname (#PCDATA)> <!ELEMENT age (#PCDATA)>
2.1.2 编写xml文件,并引入上面的dtd文件 (此处命名为dtd01.dtd 并在同一文件夹下)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE classroom SYSTEM "dtd01.dtd"> <classroom id="c1"> <cname>计算机11秋</cname> <grade>2012</grade> <students> <student> <id>1</id> <sname>张三</sname> <age>12</age> </student> <student> <id>2</id> <sname>李四</sname> <age>11</age> </student> </students> </classroom>