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


     前言:创建良好格式的XML文档,虽然写了这些,其实,等到大家真正的看完之后美酒会发现,其实也很简单的,我们这里所做的是带着大家全面的看看怎么样创建.

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

         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>

        

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

  • 相关阅读:
    HTML CSS 特殊字符表
    vscode代码统计——Vscode counter
    js数组方法整理
    CSS-界面滚动时不显示滚动条
    Vue Loader 作用域CSS(scoped)——/deep/ 深入组件选择器
    PHP模板引擎,Smarty定义
    mysql触发器trigger 实例详解
    mysql关于数据库表的水平拆分和垂直拆分
    关于数据库表的水平拆分和垂直拆分
    使用Merge存储引擎实现MySQL分表
  • 原文地址:https://www.cnblogs.com/tangself/p/1768817.html
Copyright © 2020-2023  润新知