掌握XML系列(4)---创建格式良好的XML文档

来源:岁月联盟 编辑:zhuzhu 时间:2009-01-12

  这一节,我们讲解有关属性的问题.

  XML的属性:

  其实大家都知道,其实属性就"名值对",再HTML中,我们看见过很多.之前的文章中也用过了一些属性的例子.来看个例子吧:

   <?xml version="1.0" ?>
   <persons>
     <person name="xiaoyang"/>
     <person name="panyan"/>
   </persons>

  关于属性的问题,有几点是要说明下的:

  1.在属性的值中,最好不要使用":"(冒号),,尽管可以有,但是最好不要,因为与命名空间有冲突的.

  2.属性不能以"xml"开头,也是有关命名空间的问题.

  下面来看看我们什么时候使用属性

  大家都知道,一份数据文档,用XML来表示可以有很多的形式.如上面的XML的例子,我们也可以改写为别的形式.如.

   <?xml version="1.0"?>
   <persons>
     <person>
        <name>xiaoyang</name>
     </person>
      <person>
        <name>panyan</name>
     </person>
   </persons>

  所以,我们对使用属性的情况会讲解如下(什么时候用属性):

  1.将属性作为描述的数据:

  之前大家看看的文档,我们在person元素中使用属性name,我们这样做,只是用属性来描述一个person的一个特征,而后面的一个例子,我们将name作为了一个元素,来强调name.所以建议:如果想强调XML,那么就把它作为一个元素.

  2.属性容易使用.

  属性通常比元素容易使用,如下:

     <person>
         23
        <name>
          xiaoyang
        </name>
     </person>

  这样,虽然没有错,但是看起来就不是很清楚,如果改为下面的

   <person age="23" name="xiaoyang"/>

  这样就比上面更加的简洁,清晰,那么也就引出下面的话题:

  3.用属性的XML文档的大小比用元素XML文档更加的小,那么就很便于网络传输.

  4.DTD验证文档的有效性:在有的XML文档中,如果在DTD(一种验证文档)中明确要求要某个属性,如果XML文档中没有,那么文档就不合法了.

  下面,我们就看看什么时候不用元素的.

  通常在重复使用属性的地方,如,想用XML文档表一个国家的城市:如下:

   <country name="china" city="wuhan" city="beijing"/>

  这样就不对,不能在一个元素中有两个相同的属性,这种情况下用元素更加的好.

   <country>
     <city>wuhan</city>
   </country>

  今天就些到这,讲得不多,基本上就这些,大家把之前的一起看看,就发现,规则很少,很多的时候都是一种平衡的策略,没有说一定要怎么样用才正确.