xml入门

来源:互联网 发布:mac os x 10.12 cdr 编辑:程序博客网 时间:2024/05/19 11:49

一、xml简介

xml的全称是eXtensible Markup Language:可扩展标记型语言,给大家解释一下是什么意思,分为两个部分:

  1. 标记型语言:这里给大家举个例子,比如说我要用记事本存储一些文字,直接输入保存就可以了,但是我不光想存储内容,我的文本还有一定的格式,比如标题的字体大小和居中显示,文本中重点内容用红色显示等,要怎么保存这些额外的东西呢?可以这样解决,给标题加一些标记,比如我把标题放到里面,告诉电脑这里面的内容是标题,要让它字体放大,居中显示,这样就能存储额外的东西了。这种加标记的语言就是标记型语言,它不只存储文本内容,还有文本格式和其它东西,和doc文档类似。
  2. 可扩展:这里拿html来解释一下,大家都知道html中有很多标签,比如html,body,h,p等,这些标签都是固定的,我们可以直接使用这些已有的标签,但是现在我想自己写标签,html是不支持的,而xml可以让我们自己写标签,这就是可扩展性,在原有的标签基础上再扩展一些自己写的标签。

xml的主要用途是为了存储数据,它目前有两个版本,1.0和1.1,用的最多的是1.0版本的,因为1.1版本的不能向下兼容

二、xml用途

1.不同的系统传输数据

举个例子说明一下,比如我用qq和朋友聊天,聊天内容是以什么样的形式发送给我朋友的呢?最早的时候聊天内容是以字符串的形式传送过去的。比如说字符串的内容包括发送方,接收方,发送的内容,发送时间这四部分数据,比如说字符串里的内容如下所示:str=”qq1:qq2:abcdefg:2016-5-5”,这种方式传送信息使程序的可维护性大大降低,现在使用的方式是以xml文件的格式传送的,同样的内容改为如下的格式:

<message>    <sender>qq1</sender>    <reciver>qq2</reciver>    <text>abcdefg</text>    <time>2016-5-5</time></message>

这种方式克服了字符串方式的缺点,利于程序的维护。

2.表示生活中有关系的数据

这里还是举个例子,现在我要存储一个省份中的城市还有城市里的县城等数据,因为这些数据之间是有关系的,所以得用特定的存储方式,可以用xml来存储:

<?xml version="1.0" encoding="UTF-8"?><陕西>    <西安>        <县城1></县城1>        <县城2></县城2>        <县城3></县城3>        <县城4></县城4>    </西安>    <咸阳>        <县城1></县城1>        <县城2></县城2>        <县城3></县城3>        <县城4></县城4>    </咸阳>    <延安>        <县城1></县城1>        <县城2></县城2>        <县城3></县城3>        <县城4></县城4>    </延安>    <延安>        <县城1></县城1>        <县城2></县城2>        <县城3></县城3>        <县城4></县城4>    </延安>    <延安>        <县城1></县城1>        <县城2></县城2>        <县城3></县城3>        <县城4></县城4>    </延安></陕西>
这样存储这种有关系的数据结构很清晰,也容易解析得到里面的数据,而且不会破坏数据结构。

3.用在配置文件中

学习过开发的都应该接触过各种各样的配置文件,下面给出一些常见的xml文件:

应用场景 文件名称 作用 javaWeb web.xml 存储着servlet,过滤器,参数等信息 安卓开发 *.xml 安卓页面布局信息 tomcat等web容器中的各类xml文件 web.xml,server.xml等 存储着容器的相关配置信息

以上只列举了xml的三个应用场景及其作用,其实xml的用途非常广泛,还有很多其它应用场景,这里就不一一列举了。这样做有什么好处呢?大家都知道程序运行前需要先编译,如果把一些信息写在代码里比如数据连接时用到的驱动url,用户名和密码等,编译后信息就无法改变,如果要改变这些信息就得修改代码,重新编译,而写在配置文件中就不用这么麻烦了,直接修改配置文件中的数据就可以了。

三、xml语法

一个xml文档包含下面一个部分:
1. 文档声明
2. 元素
3. 属性
4. 注释

1.xml文档的声明

xml文档的声明格式如下:

<?xml version="1.0" encoding="UTF-8"?>

解释一下各部分的含义,首先文档声明必须写在一对简括号和问号之间中,而且必须写在文档的第一行第一列,否则会出现错误。version是指xml的版本号,有1.0和1.1两个版本,encoding是指编码方式。

2.xml元素

xml中的元素写在小于号和大于号之间,标签一般是成对出现的,第二个标签必须加上斜杠

<root>    <n1>        <a></a>    </n1></root>

注意,xml文档必须要有一个而且只能有一个根标签。

3.元素属性

属性写在第一个标签里面:

<root id="1">    <n1 id="1">        <a id="1"></a>    </n1 ></root>

一个元素可以有多个属性,属性之间用空格分开,属性值写在双引号里面。

4.注释

注释格式如下:

<陕西>    <!--     <西安>        <县城1></县城1>        <县城2></县城2>        <县城3></县城3>        <县城4></县城4>    </西安>     --></陕西>
0 0
原创粉丝点击