- XML的全称是EXtensible Markup Language,可扩展标记语言
- 编写XML就是编写标签,与HTML非常类似,扩展名.xml
- 良好的人机可读性
下面的代码块就是 XML 的一个例子
<employee no="3301"><name>李铁柱</name><age>37</age><salary>3600</salary><department><dname>人事部</dname><address>XX大厦-B105</address></department></employee>
XML 与 HTML 的比较
<body><a href="index.html">首页</a></body>
<employee no="3310"><name>李四</name><age>23</age><salary>3000</salary><department><dname>工程部</dname><address>XX大厦-B104</address></department></employee>
XML 的用途
web 应用配置文件
<web-app><servlet><servlet-name>InitTest</servlet-name><servlet-class>moreservlets.InitServlet</servlet-class><init-param><param-name>paraml</param-name><param-value>valuel</param-value></init-param><init-param><param-name>param2</param-name><param-value>2</param-value></init-param></servlet></web-app>
XML 文档结构
第一行必须是XML声明;
- 有且只有一个根节点;
-
XML 声明
XML 声明说明 XML 文档的基本信息,包括版本号与字符集,写在 XML 第一行
<?xml version="1.0" encoding="UTF-8"?>
version代表版本号1.0/1.1
-
XML 标签书写规则
合法的标签名
- 适当的注释与缩进
- 合理使用属性
- 特殊字符与CDATA标签
有序的子元素
<abc>abc</abc> ×<考试$>Java期末</考试$> ×<class><class>班级</class></class> ×<cart><item>相册</item></cart> √
适当的注释与缩进能让XML文档更容易阅读 ```java
李四 23 3000 工程部 XX大厦-B104
<a name="E2RaN"></a>
## 处理特殊字符
标签体中,出现“<”或者“>”特殊字符,会破坏文档结构
- 例子:无效的XMLjava
- 解决方案一:使用实体引用
- XML 支持五种实体引用
| 实体引用 | 对应符号 | 说明 |
| --- | --- | --- |
| < | < | 小于 |
| > | > | 大于 |
| & | & | 和号 |
| ' | ' | 单引号 |
| " | " | 双引号 |java
- 解决方案二:使用CDATA标签
- CDATA指的是不应由XML解析器进行解析的文本数据
- 从"<![CDATA["开始,到"]]>"结束java
<a name="cguvb"></a>
## 有序的子元素
在 XML 多层嵌套的子元素中,标签前后顺序应保持一致java
编程练习
练习XML文档的书写:编写文档 plan.xml,进行教学计划中课程信息的存储。教学计划(teaching-plan)中包含多门课程(course),每门课程信息如下:
| course-name | class-hour | exam-form |
|---|---|---|
| 大学英语 | 36 | 考试 |
| 高等数学 | 70 | 考试 |
| 计算机应用基础 | 108 | 上机考试 |
