XML学习笔记总结一——XML文档结构

  很早就接触过XML文件了,但是从来没有认真总结过xml文档,今天简单的把XML文档相关的内容总结一下,也加深一下自己的印象,由于水平有限,肯定有许多不完善和错误的的地方,请大侠们多多指正,谢谢。

  正文之前先推荐一个XML文档编辑工具Altova XMLSpy,是一款外国软件,收费的,但是有破解版下载,百度一下就可以找到很多,该工具有很好的XML文档编辑和调试能力,可以帮助大家轻松的完成XML文档的编写和纠正工作。

1、XML文件定义

  XML文档定义使用标记<?xml ?>,注意"<?xml"中间不能有空格,如:<?xml version="1.0" encoding="utf-8" ?>,其中version是该xml文档版本号,encoding是解析此文档所使用的编码。注意,编辑完XML文件保存时使用的文件编码必须选与你的encoding的值所代表的编码,否则在使用该XML文件时会出现乱码。这个编码也可以不显示写出,此时系统会用默认的编码,一般默认的编码方案是utf-8

2、元素

(1)元素由一个开始和结束的标括起来,标记名可以随便取,但是不能用“xml”,这是XML的一个保留字,如<message>我的博客</message>,这就是一个元素,标记名是message,开始标记是<message>,结束标记是</message>。

(2)标记中间包含的内容叫做文本内容,如<message>我的博客</message>,中“我的博客”。

(3)元素里面可以嵌套元素,但是不能交叉,如

<message1>

  <message2>

  </message2>

</message1>

这种情况是两个元素嵌套,是合法的,但是下面的的情况是交叉,是不允许的:

<message1>,

  <message2>

  </message1>

</message2>

(4)元素标记名可以重复出现,但是最外面的元素的标记名只能有一个(最外面的元素叫做根元素,只能有一个)如:
<?xml version="1.0" encoding="utf-8" ?>
<messages>
   <message>中国,你好</message>
   <message>中国,你好</message>
</messages>
是对的,但是

<?xml version="1.0" encoding="utf-8" ?>
<messages>
   <message>中国,你好</message>
   <message>中国,你好</message>
</messages>
<messages>
</messages>是错的,它有两个根元素了

3、元素的属性
  元素的属性写在标记尖括号内,跟在标记名后面,且只能写在首标记的内,一个名字对应一个值,值必须用引号引起来,单引号和双引号都可以,但是必须配对,一个元素里面可以有多个属性,只是,同一个元素里面属性的名字必须唯一,如<message id="1" name=“a”>我的博客</message>,其中id和name是两个属性的名字,1和a是这两个属性的值。

4、注释,起说明作用

  与HTML注释符号相同:<!-- -->,如<!--我的第一个xml文件-->

5、指令

  格式:<? ?> 要求:?后面不能有空格,如<?xmlstylesheet type="text/xsl" href="world.xslt"?>
  作用:用来声明怎么对xml进行处理,其中不包含数据

6、实体引用
  使用<, >, & 等xml文档特定的符号的话必须使用特殊的符号来代表,在smlspy里面可以查到,如&lt;表示<,&gt;表示>, &amp;表示&, &apos;表示',&quot;表示“

7、字符数据[!CDATA[内容]],相当于C#中的@表示后面的字符全是字符串的用法一样,说明内部中括号中的内容都是字符串,不管中间有多少个<,>,",',&等xml保留的字符,都会把他们当做数据来处理,而不是当做特殊符号来处理

8、由1-7中的所有部分嵌套组合前来组成的文件就是XML文件,非常灵活,没有其他更多的限制了

9、元素和属性区别与联系
(1)元素适合于表示层次结构
(2)属性是属于某个元素,必须写在某个元素的头标记里面,不能嵌套,适合直接表示某个数据
(3)文本内容放在元素标记之间,也可以用属性来表示,用属性表示时可以有名字,但是放在标记之间时没有名字,现在一般都把数据放在属性里面,放在元素标记之间的情况比较少

posted @ 2011-04-19 15:07  邹定南  阅读(469)  评论(0)    收藏  举报