- 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>
## 处理特殊字符
标签体中,出现“<”或者“>”特殊字符,会破坏文档结构
- 例子:无效的XML
java
- 解决方案一:使用实体引用
- 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 | 上机考试 |