记录点滴

BlogJava 首页 新随笔 联系 聚合 管理
  10 Posts :: 1 Stories :: 1 Comments :: 0 Trackbacks
XML简介:
    Xml是可扩展性标记语言(eXtendsible Markup Language)的缩写。
    所谓标记,是指一系列的特许的字符符号,可以通过向其中插入文本来存储文档的内容。
    它是不同技术之间数据交换的基石。
 
* xml与html的区别:
    > Xml是一中标记语言,这意味着xml文档都是使用标记来存储数据和信息的。
    >> 一个规范的html文档完全可以被看做xml文档。
    >> xml的可扩展性体现在其标记可由开发者自行定义。
    >> xml文档更接近于数据库,它并不存储数据的表现形式。
 
    > html是一门编程语言,它可以被解析工具(如IE浏览器)处理,
        并将信息以某种格式显示出来。
    >> html注重的是数据的表现形式。
 
    HTML由于已定义标记的有限性,在很多领域已经抓襟见肘了。
    而xml可扩展性很好的弥补了HTML的缺陷。
 
* xml主要应用于一下几个方面:
    1.数据交换
    2.跨平台应用开发
    3.数据转换
    4.数据库:xml完全可以作为一个小型数据库来使用。
    5.配置文件:尤其是在Java开源框架中,如struts,hibernate,spring等。
        都是用xml文档作为配置文件。
 
* xml语法:
一.文档类型的声明:
    <?xml version="1.0"?>
    该语句是xml文档类型的声明,表示该文档是一个xml文件。
    version="1.0"表示该xml文档的版本是1.0的。
 
说明:
    w3c虽然已经提供了xml1.1的版本的推荐标准,但并未被广泛的普及和应用。
    最主要原因是说明了1.1版本不能完全向后兼容xml1.0版本。
    因为xml的应用非常广泛,所以在无法做到很好兼容的情况下,
    使用xml1.1来代替xml1.0是不可取的。
 
1.文档编码:xml的字符被设计为使用Unicode编码。
    > xml文档的默认编码为UTF-8,欲改变xml的字符编码,应适用encoding属性。
    > 具体设置:<?xml version="1.0" encoding="ISO-8859-1"?>
 
2.文档的独立性:xml文档的外部关联一般使用外部实体或应用了外部DTD文件。
 
3.注意的问题:
    a) xml文档类型的声明并不是处理命令,虽然其形式和处理指令非常相似。
    b) 字符串"xml"和字符串"<?"之间不能留有空格。
    c) 文档类型的声明可以不出现在xml文档中,
       如果出现,则一定要出现在xml文档的第一行第一列。
 
二。文档注释:
    xml的文档注释以<!--开头,以-->结束,中间为注释的内容。
 
注意的问题:
    1.文档注释中可以包含任何特殊的字符。
    2.文档注释必须以-->结束
 
三。元素:元素是指标签及包含在标签内部的内容。
> 元素的命名要遵循以下规则:
    1.元素名只能以字母或下划线开始,其后可以跟数字,字母和下划线的任意组合。
    2.元素名不能以xml(Xml xMl......)开头
    3.元素名不能包含空格
    4.元素的开始标签与结束标签名称必须完全一致,包括大小写一致。
 
> 根元素:
    >> 每个xml文档元素有且只有一个根元素,
    >> 根元素是顶级元素(也就是第一个元素),
    >> 除处理指令和注释外,其余所有必须包含在根元素当中。
 
> 元素的嵌套和元素的并列:
    >> 元素嵌套是指一个元素完全包含在另一个元素中。
    >> 元素并列是指多个元素具有相同的父元素。
    >> 在xml文档中不允许元素的交叉使用。
 
注意的问题:
    1.xml是大小写敏感的
    2.文档类型声明,注释和文档的处理指令都不是元素
    3.元素的开始标签和结束标签必须成对出现。
 
四。属性:
    > 属性用于描述元素,所以属性必须出现在元素的标签内部。
    >> 属性值一定要用引括号起来。
    > 在属性赋值时所使用的双引号可以单引号来代替。
    >> 两者在使用时并无区别,但是当属性值含有双引号时,
       则必须使用单引号来进行属性赋值,反之亦然。
 
使用属性还是子元素的区别:
    > 描叙一个元素的某个特征时,使用子元素和属性都是可行的。
    > 属性相对与子元素的局限性:
        1.属性的扩展性差。
        2.每个元素中同名的属性只能出现一次而同名的子元素可以出现多个。
        3.属性存储的数据量一旦过大,就会造成xml文档结构上的失衡,
        给阅读造成很大的不便。
 
五:实体引用
记住五种实体引用:
    1.&amp;------------------&
    2.&lt;    ------------------<
    3.&gt;    ------------------>
    4.&apos;------------------'
    5.&quot;------------------"
 
六。CDATA的语法
    > CDATA的全称为字符数据(Character Data),
    > 其语法规则:<![CDATA[comment]]>,其中<![为开始符,]]>为结束符,
    > 包含在其中的全部字符都被处理器视为普通字符。
 
注意的问题:
    1.CDATA段不可嵌套,而且没有嵌套的必要。
    2.当需要将大块的文本内容填充到元素中时,比较适合用CDATA部件。
 
七。xml中的DTD
          > DTD实际上可以看做一个或多个xml文件的模板,
      > 这些xml文件中的元素,元素属性,元素的排列方式、顺序,
        元素能够包含的内容等,都必须符合DTD中的定义。
      > DTD可以是一个完全独立的文件,也可以是在xml文件中直接设定。
        所以DTD分为外部DTD和内部DTD.
 
内部DTD:
    内部DTD是在xml文件中的文件序言区域中定义的。
    语法:
    <!DOCTYPE elementname[
        ............
    ]>
    说明:
    <!DOCTYPE :    表示开始设定DTD
    elementsname:    制定此DTD的根元素名称
    [..........]:    在[]标记里面定义xml文件使用的元素,然后用>结束DTD定义
 
    在DTD定义的中间元素设定,是DTD的最主要部分,其语法如下:
    <!ELEMENT elementname elementdifinition>
     
    内容模式:ANY,EMPTY,MIXED,子元素
    元素:
        ? 不出现或只出现一次
        * 不出现或可以出现多次
        + 必须出现一次以上
        无符号 只能出现一次
 
    <!ATTLIST 元素名 属性名 属性类型 缺省类型>
    属性类型:10种   缺省类型:4种:#required  #implied #fix 字符串
 
八。命名空间
语法:xmlns:prefix="uri"
 
    > uri是一个虚拟的空间,不一定是实实在在存在的。
    >
命名空间用来解决同名标签的问题.

    > 命名空间对属性不起作用,只表明标签属于哪个命名空间.
 
 
十。如何书写xml文档
    a) 首先要书写xml文档的类型声明
    b) 然后添加一个注释以标注开发者的信息,开发时间等。
    c) 接着为xml文档定义一个根元素。
    d) 再接着添加二级元素,三级元素。
以上只是书写xml的一般步骤,其中元素的嵌套和属性依附是最关键的步骤。
posted on 2009-02-14 23:16 liuliang 阅读(518) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: