XML文件相关(一):XML文件简介和基本结构

来源:互联网 发布:淘宝客怎样获得优惠券 编辑:程序博客网 时间:2024/05/22 05:21

写在博客前:
作为一个初学者,第一眼看到XML文件的时候显得手足无措,最近在学习xml,写下了xml相关的一系列博客,希望能够帮助到初学者并加强自己的记忆!

xml系列博客主要包括如下内容:
(一)xml文件的简介和基本结构
(二)xml文件的约束(DTD和Schema)
(三)xml文件的解析过程

什么是XML文件:

XML是W3C组织(World Wide Web Consortium万维网联盟)发布的可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML。它被设计的宗旨是传输数据,而非显示数据。

XML文档可以解决什么问题

 - 用于描述qq等通讯软件直接传输数据,使用xm格式进行描述,具有可读性和可维护性 - 作为关系型语言保存有关系的数据,描述程序模块之间的关系 - 在软件系统中,通过XML配置文件可以提高系统的灵活性。即程序的行为是通过XML文件来配置的,而不是硬编码。

XML文件的语法:

一个XML文件主要包括以下几部分:

  1. 文档声明
  2. 元素
  3. 属性
  4. 注释
  5. CDATA区,特殊字符
  6. 处理指令(PI:Processing Instruction)

下面将分别介绍这几部分的结构:
1. 文档声明
在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行,写在整个xml文档的第一行第一列。

    <?xml version=“1.0” encoding=“GB2312”standalone=“yes”?>

最基本的语法应包括版本的声明<?xml version="1.0"?>,其后的两个属性分别代表文档使用的字符编码,和文档是否依附于其他文档的存在。
2. 元素
XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式:
(1) 包含标签主体:<mytag>some content</mytag>
(2)不含标签主体:<mytag/>
(3)一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。下面的写法是错误的。 <mytag1><mytag2></mytag1></mytag2>
(4)一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。
(5)对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。例如:下面两段内容的意义是不一样的。
<网址>XML文档的基本结构</网址>
<网址> XML文档的基本结构 </网址>
所以在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。
(6)命名规范:
–区分大小写,例如,<P><p>是两个不同的标记。
–不能以数字或”_” (下划线)开头。
–不能以xml(或XML、或Xml 等)开头。
–不能包含空格。
–名称中间不能包含冒号(:)。
3. 属性。
(1)一个元素可以有多个属性,每个属性都有它自己的名称和取值,例 如:<mytag name=“value” …/>
(2)属性值一定要用引号(单引号或双引号)引起来。
(3)属性名称的命名规范与元素的命名规范相同
(4)元素中的属性是不允许重复的
(5)在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述.
(6)对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。转义字符如下

特殊字符 替代字符 & &amp; > &lt; < &gt; “ &quot; ‘ &apos;

4. 注释
XML中的注释语法为:<!--这是注释-->
注意:XML声明之前不能有注释;注释不能嵌套。

5. CDATA区
CDATA是Character Data的缩写
作用:把标签当做普通文本内容,不用使用转义字符。
语法:<![CDATA[内容]]>

<![CDATA[    <电子科技大学>修行小和尚</电子科技大学>]]>其中,<电子科技大学>修行小和尚</电子科技大学>会被当做文本,不是标签。

6. 处理指令
处理指令,简称PI(Processing Instruction)。
作用:用来指挥软件如何解析XML文档。
语法:必须以“<?”作为开头,以“?>”作为结尾。
常用处理指令:
XML文件声明:<?xml version=“1.0” encoding=“GB2312”?>

关于XML文档的约束请看博客:XML文件(二)XML文件的约束

原创粉丝点击