《Java高级程序设计》第5章 XML解析
一、XML概述
1、XML简介
- XML 指可扩展标记语言(EXtensible Markup Language),类似于HTML。
- XML 标签没有被预定义,需要自行定义标签。XML是一个W3C标准。
2、XML的用途
XML主要用于存储数据与交换数据,而不是显示数据。
3、XML语法
(1)XML语法构成
1)XML声明;
2)根元素;
3)子元素。
![]()
(2)XML语法规则
1)所有元素都必须有关闭标签(双标签);
2)XML标签对大小写敏感;
3)XML必须有正确的嵌套;
4)XML必须有根元素;
5)XML属性必须加引号;
6)在XML中,空格会被保留。
(3)XML注释
XML的注释和HTML一样
<!-- -->
4、XML和HTML的区别
(1)HTML是超文本标记语言;XML是可扩展标记语言;
(2)HTML主要用来显示数据(内容);XML主要用来存储数据与交换数据。
二、DTD
DTD(Document Type Definition)是文档类型定义,可定义合法的XML文档,用来检查XML文档格式是否合法。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
1、内部的 DOCTYPE 声明
<!DOCTYPE 根元素 [元素声明]>
【案例】
说明:
<!ELEMENT students (student) 表示:students 标签中只能含有子标签student
<?xml version="1.0" encoding="UTF-8"?>
<!-- xml约束 -->
<!DOCTYPE students [
<!ELEMENT students (student)>
<!ELEMENT student (name,sex)>
]>
<students>
<student>
<name>张三</name>
<sex>男</sex>
</student>
</students>
2、外部文档声明
<!DOCTYPE 根元素 SYSTEM "文件名">
【案例】
(1)创建外部的dtd文件

(2)引入外部dtd文件

三、使用dom4j解析XML文件
dom4j是一个开源的xml解析工具,可以用来读写xml文件内容。使用之前需要下载相关的工具包:
https://dom4j.github.io/
1、手动创建xml文件
student.xml
<?xml version="1.0" encoding="utf-8"?>
<students>
<student id="1001">
<name>张三</name>
<age>18</age>
</student>
<student id="1002">
<name