XML的基本语法
创始人
2024-04-09 13:11:46
0

开发 JSP 的编程技术人员必须掌握 XML 的基本语法以及规范,才能正确使用 XML。

XML 文档的基本结构

XML 文档的基本结构如下:

  1. //文档声明
  2. 白素素
  3. baisusu
  4. 22
  5. 北京市
  6. 她是一个作家

建立XML文档必须要有XML文档的声明,如第1行的声明:

其中,version 是指该文档遵循的 XML 的标准版本,encoding 指声明文档使用的字符编码格式。

标记必须闭合

在 XML 文档中,除 XML 声明外,所有元素都必须有其结束标识,如果 XML 元素没有文本节点,则釆用自闭合的方式关闭节点。例如,以 这样的形式进行自闭合。

正常的标记闭合形式如下:

  1. 22
  2. 北京市

age、sex、address 都有相应的结束标记。

合理地嵌套

在 XML 文档中,合理的元素嵌套是必须的,如下嵌套是错误的,会导致 XML 错误,且描述不清。

  1. 22

正确的描述如下:

  1. 22

XML元素

XML 元素是指成对出现的标记,且每个元素之间有层级关系。例如, 元素指的是 

 元素指的是:

  1. 白素素
  2. baisusu
  3. 22
  4. 北京市
  5. 她是一个作家

其中, 元素是  元素的子元素, 元素是  元素的父元素;两个  元素是并列关系。

元素的命名规则如下:

  • 可以包含字母、数字、其他字符。
  • 不能以 xml 开头,包括其大小写,如 XML、xMl 等。
  • 不能以数字或者标点符号开头,不能包含空格。
  • XML 文档除了 XML 以外,没有其他的保留字,任何名字都可以使用,但是应该尽量使元素名字具有可读性。
  • 尽量避免使用和,以免引起混乱,可以使用下划线。
  • XML 元素命名中不要使用,因为 XML 命名空间需要用到这个特殊字符。例如,下面的命名是正确的:

下面这些命名是错误的:

  1. <2title>
  2. <.age>

注意,所有的 XML 文档有且只有一个根元素来定义整个文档。

例如,在 web.xml 代码中,可以看到  就是它的根元素。例如,下面的 web.xml 定义是错误的:

  1. xmln="http://java.sun.com/xml/ns/javaee"
  2. xmln:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:chemaLocation="http://java.sun.com/xml/ns/javaee
  4. http://java.sun.com/xml/ns/javaee/web-app_2.xsd">
  5. ...
  6. ...

XML属性

XML 元素可以在开始标记中包含属性,类似 HTML,属性(Attribute)提供关于元素的额外(附加)信息,它被定义在 XML 元素的标记中,且自身有对应的值。例如, 元素的属性名和属性值如下:

  1. 白素素
  2. baisusu
  3. 22
  4. 北京市
  5. 她是一个作家

属性的命名规则跟元素的命名规则一样。

提示:属性值必须带有单引号或双引号,如果属性值本身包含双引号,那么有必要使用单引号包围它可以使用实体(")引用。

语法编写要点

1. 大小写敏感

XML 文档要注意字母的大小写,标记名称、属性名和属性值都是大小写敏感的。例如, 和  是不同的。

一般初学者刚写 XML 文档时常犯的错误就是,开始标记与结束标记的大小写不一致而导致出现错误。例如:

  1. Chen Lin

 与  不能相互匹配,而导致  没有正确地结束标记而被关闭。

正确的写法如下;

  1. Chen Lin

2. 注释的写法

XML 注释的形式如下:

3. 空白被保留

空白被保留是指在 XML 文档中,空白部分并不会被解析器删除,而是被当作数据一样完整地保留。例如:

  1. 入夜渐微凉 繁花落地成霜

“入夜渐微凉 繁花落地成霜”中的空白会被当作数据保留。

4. 转义字符的使用

XML 中有些特殊字符需要转义,比如 >、<、&、单引号、双引号等,其转义字符和 HTML 中的转义字符是一样的。

5. CDATA的使用

CDATA 用于需要原文保留的内容,尤其是在解析 XML 过程中产生歧义的部分,当某个节点的数据有大量需转义的字符时,CDATA 就可以发挥作用了,其用法如下:

  1. 内容
  2. ] ] >

举例说明:

  1. if(m>n)
  2. {
  3. alert(m大于n);
  4. }
  5. else if(m﹤n&&m!=0)
  6. {
  7. alert(m小于n);
  8. }
  9. ] ] >

提示:CDATA 不能嵌套使用。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...