• XML的全称是EXtensible Markup Language,可扩展标记语言
  • 编写XML就是编写标签,与HTML非常类似,扩展名.xml
  • 良好的人机可读性
  • 下面的代码块就是 XML 的一个例子

    1. <employee no="3301">
    2. <name>李铁柱</name>
    3. <age>37</age>
    4. <salary>3600</salary>
    5. <department>
    6. <dname>人事部</dname>
    7. <address>XX大厦-B105</address>
    8. </department>
    9. </employee>

    XML 与 HTML 的比较

    1. <body>
    2. <a href="index.html">首页</a>
    3. </body>
    1. <employee no="3310">
    2. <name>李四</name>
    3. <age>23</age>
    4. <salary>3000</salary>
    5. <department>
    6. <dname>工程部</dname>
    7. <address>XX大厦-B104</address>
    8. </department>
    9. </employee>

    XML 的用途

    web 应用配置文件

    1. <web-app>
    2. <servlet>
    3. <servlet-name>InitTest</servlet-name>
    4. <servlet-class>moreservlets.InitServlet</servlet-class>
    5. <init-param>
    6. <param-name>paraml</param-name>
    7. <param-value>valuel</param-value>
    8. </init-param>
    9. <init-param>
    10. <param-name>param2</param-name>
    11. <param-value>2</param-value>
    12. </init-param>
    13. </servlet>
    14. </web-app>

    XML 文档结构

  • 第一行必须是XML声明;

  • 有且只有一个根节点;
  • XML 标签的书写规则与 HTML 相同;

    XML 声明

  • XML 声明说明 XML 文档的基本信息,包括版本号与字符集,写在 XML 第一行

    1. <?xml version="1.0" encoding="UTF-8"?>
  • version代表版本号1.0/1.1

  • encoding UTF-8设置字符集,用于支持中文

    XML 标签书写规则

  • 合法的标签名

  • 适当的注释与缩进
  • 合理使用属性
  • 特殊字符与CDATA标签
  • 有序的子元素

    1. <abc>abc</abc> ×
    2. <考试$>Java期末</考试$> ×
    3. <class><class>班级</class></class> ×
    4. <cart><item>相册</item></cart>
  • 适当的注释与缩进能让XML文档更容易阅读 ```java

    李四233000工程部
    XX大厦-B104
李四 23 3000 工程部
XX大厦-B104
<a name="E2RaN"></a> ## 处理特殊字符 标签体中,出现“<”或者“>”特殊字符,会破坏文档结构 - 例子:无效的XMLjava 1+4>3是否正确? 2+3<7是否正确? - 解决方案一:使用实体引用 - XML 支持五种实体引用 | 实体引用 | 对应符号 | 说明 | | --- | --- | --- | | &lt; | < | 小于 | | &gt; | > | 大于 | | &amp; | & | 和号 | | &apos; | ' | 单引号 | | &quot; | " | 双引号 |java 1+4>3是否正确? 2+3<7是否正确? - 解决方案二:使用CDATA标签 - CDATA指的是不应由XML解析器进行解析的文本数据 - 从"<![CDATA["开始,到"]]>"结束java <![CDATA[ 1+4>3是否正确? 2+3<7是否正确? ]]> <a name="cguvb"></a> ## 有序的子元素 在 XML 多层嵌套的子元素中,标签前后顺序应保持一致java
李四 23 3000 工程部
XX大厦-B104

王五 24 3000 工程部

XX大厦-B104
```

编程练习

练习XML文档的书写:编写文档 plan.xml,进行教学计划中课程信息的存储。教学计划(teaching-plan)中包含多门课程(course),每门课程信息如下:

course-name class-hour exam-form
大学英语 36 考试
高等数学 70 考试
计算机应用基础 108 上机考试