XML(一):XML文档结构

一、XML简介

XMl,EXtensible Markup Language,可扩展标记语言。标记,类似于标签,一般这样标示:<Student>;可扩展:可以随意地往里面添加自己的标签。

特点:1、XML与造作系统、编程语言的开发平台都无关。2、规范统一。

作用:数据交换、配置应用程序和网站、Ajax基石。

二、XML文档结构

1、声明

声明:说明本XML文档符合XML的哪个版本规范,并且说明本文档的编码格式。对于任何一个XML文档,其声明部分都是固定的格式。如下:

<?xmlversion="1.0" encoding="UTF-8">

2、标签

在XML中,用<>括起来的各种标签(Tag)来标记数据,标签需成对使用来界定字符数据,例如<author>王珊</author>这一对标签中,<author>是开始标签,</author>是结束标签,“王珊”是标签描述的内容,表示作者信息。XML文件可以包含任意数量的标签。

3、根元素

<books> </books>成对出现,叫做XML文档的根元素。每个XML文件的根元素有且只有一个。
根元素的特点如下:
1、根元素是一个完全包括文档中其他所有元素的元素。
2、根元素的起始标签要放在所有其他元素的起始标签之前。
3、根元素的结束标签要放在所有其他元素的结束标签之后。

<?xmlversion="1.0" encoding="UTF-8">
<books>
    <!--图书信息-->  注释
   <book id = "bk101">
        <author>王珊</author>
        <title>.NET高级编程</title>
        <description>包含C#框架和网络编程等  </description>
   </book>

   <book id = "bk102">
        <author>张三</author>
        <title>基础编程</title>
        <description>包含XML基础概念和基本作用</description>
   </book>
</books>

4、元素

XML文档的主要部分是元素,元素由开始标签、元素内容和结束标签组成。元素内容可以包含子元素、字符数据等。如<author>王珊</author>就是一个元素。

元素的命名规则如下:

  • 名称中可以包含字符、数字或者其他字符。
  • 名称不能以数字或者标点符号开始。
  • 名称不能以字符xml(或者XML、Xml)开始。
  • 名称中不能包含空格。

注:1、XML标签必须成对出现并正确嵌套,如下面的嵌套方式是不正确的。<title><name>XML编程</title></name>
2、元素允许是空元素,如以下元素的写法是允许的:<name> </name>或者<name/>
3、 属性值用双引号包裹

5、属性

在描述图书信息的XML文档中,<book id = "bk101">标签使用id属性描述图书的编号信息。属性定义的语法格式如下:<元素名 属性名 = "属性值">

注:1、一个元素可以有多个属性,它的基本格式为<元素名 属性名 = "属性值" 属性名 = "属性值"/>多个属性之间用空格隔开。
2、属性值不能直接包含< “ &(不建议: ‘ >)等字符
3、属性可以加在任何一个元素的起始标签上,但不能加在结束标签上。

6、XML中的特殊字符的处理

在XML中,有时在元素的文本中会出现一些特殊字符(如<、>、'、"、&),而XML文档结构本身就用到了这几个特殊字符,有以下两种办法,可以正确地解析包含特殊字符的内容。

1、转义

对这5个特殊字符进行转义,也就是使用XML文档中的预定义实体代替这些字符,XML中的预定义实体和特殊字符的对应关系如下:

在后面要记得加分号
符号             转义符(预定义实体)
<                      &lt;(less than)
>                      &gt;
"                      &quot;
'                      &apos;
&                      &amp;

如:
<student id="&lt;s1">解析为<student id="<s1">
如:<test>我们上面的标签包含&lt;student&gt;&lt;/student&gt;</test>解析为
<test>我们上面的标签包含<student></student></test>
但是这种方式太麻烦,可读性差。只需告诉浏览器我这是一个普通的文本,不是标签,那怎么去做呢?

2、CDATA节

当元素中出现很多特殊字符时,可以使用CDATA节。CDATA节中的所有字符都会被当做元素字符数据的常量部分,而不是XML标签。定义CDATA节的语法格式如下:

   <![CDATA[要显示的字符]]>

<description>
       <![CDATA[讲解了元素<title>以及</title>的使用]]>
</description>

7、XML中的注释

注释的语法格式如下:

<!--注释内容-->

8、格式良好的XML文档

格式良好的XML文档需要遵循如下规则:

1、必须有XML声明语句
2、必须有且仅有一个根元素
3、标签大小写敏感
4、属性值用双引号包含起来
5、标签成对出现
6、元素正确嵌套

三、XML编写注意事项

1、所有XML元素都必须有结束标签
2、XML标签对大小写很敏感
3、XML必须正确的嵌套
4、同级标签以缩进对齐
5、元素名称可以包含字母、数字和其他的字符
6、元素名称不能以数字或者标点符号开始比如<5name>就不行
7、元素名称不能包含空格
在<student name>里面,系统会认为空格后面就是属性了,不会认为这两个是一体。

四、推荐命名习惯

1、见名知意
2、名字尽量比较简短一点<book_title>
3、可以用下划线,但是不要用中横线、不要用点、也不要用冒号。如<book-title> <book.title><book:title>冒号在XML中有特殊的作用。
4、因为数据库跟XML有很大的关系,所以一般数据可怎么命名,XML文件就怎么命名,这两个平着来就可以了。

五、XML中的命名空间

命名空间在XML文档中可以用作元素或属性名称的名称集合,它们用来标示来自特定域(标准组织、公司、行业)的名称。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。