zoukankan      html  css  js  c++  java
  • Web Services 应用开发学习笔记(一):XML概述

    本文内容
      1.  什么是XML
      2.  XML的基本特点
      3.  HTML与XML区别
      4.  XML文档结构
     


    1.       什么是XML

    XML(eXtensible Mark Language,可扩展标记语言)是一种标记语言,是Internet环境中跨平台、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。

    简单点来说:XML类似于HTML的标记语言,用来描述数据,标记不是预定义的,用户可以自定义,使用文档类型定义(DTD)或者模式(Schema)来描述数据。从创建HTML页面中可以看出这一规则,HTML遵循http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd文档

    2.      XML的基本特点

    (1)XML可以从HTML中分离数据,即能够在HTML文件之外将数据存储在XML文档中,这样可以使开发者精力集中使用HTML做好数据的显示和布局,并确保数据改动时不会导致HTML文件也需要改动,从而方便维护页面。

    (2)XML可用于交换数据。把数据转换成XML格式存储将大大减少交换数据时的复杂性,还可以使这些数据能被不同的程序读取。

    (3)利用XML可以共享数据。XML数据以纯文本格式存储,这使得XML更易读、更便于记录、更便于调试,使不同系统、不同程序之间的数据共享变得更加简单。

    3. 之前学习的HTML与XML有什么区别呢?

            

    对比项

    XML

    HTML

    可扩展性

    可扩展,能够定义新的标记元素

    不可扩展,标记元素都是固定的

    侧重点

    侧重于结构化描述数据

    侧重于如何显示数据

    语法

    语法严格,要求标记嵌套、配对和遵循DTD(文档类型定义)树形结构

    不要求标记的嵌套,配对等,不要求标记之间具有一定的顺序

    可读性

    结构清晰、易于阅读

    较难阅读

    可维护性

    易于维护

    较难维护

    数据和显示关系

    数据描述与显示方式相分离

    数据和显示整合一体

    4.XML文档结构

             XML文档主要有两个组成部分:序言和文档元素。

             

             XML声明语句通常有如下属性:

             version:该属性是必须地,且必须要小写,用于表明XML的版本,解析器对通的版本的解析会有区别。目前使用的是1.0.

             encoding:该属性是可选的,用于表明该文档所使用的字符编码方式,但在开发中一般建议写上,防止乱码出现。XML支持多种字符集类型,例如字符编码方式为GB2312,UTF-8等。

             standalone:该属性定义了是否可以在不读取任何其他文件的情况下处理该文档,其属性值可以是yes或no,如果XML文档没有引用任何其他文件,则可以指定standalone=”yes”,否则standalone=”no”。 standalone默认值是no。

             XML文档内容:

                 (1主体部分一般由根元素、子元素、属性、注释和内容组成的。

                 (2XML元素命名规范:

                         a.元素的名字可以包含字符、数字和其他合法字符,且区分大小写。

                         b.元素的名字不能以数字和标点符号开头。

                         c.元素的名字不能以XML(或者xml、Xml等)开头。

                         d.元素的名字不能包含空格,并且避免使用“-”、“.”、“:”等特殊字符。

                         e.元素的命名应该遵循简单易读的原则。

                         f.如果XML文档与数据表对应,应尽量让XML文档中元素的命名和数据库中字段的命名一直=这样可以方便数据交换。

                         建议使用英文字母来进行命名。

                 (3XML元素分类一共有四种:

                          a.空元素

                         如果元素中不包含任何文本或子元素,那么它就是一个空元素。

                        

     <student></student>

     

                         b.仅含文本的元素

                         有些元素含有文本内容.

                         

    <name>TerryChan</name>

    <age>21</age>

     

                         c.仅含子元素的元素

                         一个元素可以包含其他的元素。容器元素称为父元素,被包含的元素称为子元素。

             

    <student>

    <name>TerryChan</name>

    <age>21</age>

    </student>

                        d.混合元素既含有文本也含有子元素。

    <student>

    大三学生

    <name>TerryChan</name>

    <age>21</age>

    </student>



                 (4XML属性

                       XML元素可以拥有属性。属性是对标记进一步的描述和说明,一个标记可以有多个属性。它的基本格式:

                       <元素名 属性名=”属性值”>

                       在XML中,可以将属性改写为嵌套的子元素。例如下列代码:

            

     <student sex=”male”>

    <name>TerryChan</name>

    <age>21</age>

    </student>

                       可以改写为

    <student >

    <sex>male</sex>

    <name>TerryChan</name>

    <age>21</age>

    </student>

                       注意:在XML中,最好避免使用属性。因为使用属性时会引发一些问题:属性不能包含多个值(而子元素可以)、属性不容易扩展、属性不能够描述结构(而子元素可以)、在使用程序代码进行处理时,属性比元素要难解析、属性值很难通过DTD进行测试、使用属性来存储数据,XML文档比较难以阅读和操作。

                 (5注释

                       注释语法:<!- -这里是注释信息 - ->

                 (6字符引用和实体引用

                       字符引用:实际处理过程中,不在键盘上的字符或是图形字符是无法直接输入的,这种情况下,可以使用Unicode码将它们以字符引用的形式加入。

             

    <?xml version=”1.0” encoding=”utf-8”?>
    <chars>
    <ch>&#169;</ch>
    <ch>&#xA9</ch>
    <ch>&#174;</ch>
    </chars>

                       实体引用:允许在元素内容或属性值中插入任何字符串,这就是为字符引用提供了一种替代方式。

    实体

    用途

    &lt;

    通常用来替换小于号(>)

    &gt;

    通常用来替换大于号(<)

    &amp;

    通常用来替换字符(&)

    &quot;

    通常用来替换双引号(”)

    &apos;

    通常用来替换单引号(’)

    <?xml version=”1.0” encoding=”utf-8”?>

    <chars>

    <ch>&lt;</ch>

          <ch>&gt; </ch>

          <ch>&amp;</ch>

          <ch>&quot; </ch>

          <ch>&apos;</ch>

    </chars>



                 (7CDATA节

                       一般情况下,为了能在元素内容的字符数据中插入特殊字符(如<,>,&等),可使用字符引用或者一个预定义的通用实体引用。

                       CDATA节以“<![CDTAT[”开始,并以“]]>”结束。在这两个限定字符组之间,可以输入除了“]]>”之外的任意字符。

    作者: ForEvErNoME
    出处: http://www.cnblogs.com/ForEvErNoME/
    欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐关注
     
     
  • 相关阅读:
    angularjs的$on、$emit、$broadcast
    angularjs中的路由介绍详解 ui-route(转)
    ionic入门教程-ionic路由详解(state、route、resolve)(转)
    Cocos Creator 加载使用protobuf第三方库,因为加载顺序报错
    Cocos Creator 计时器错误 cc.Scheduler: Illegal target which doesn't have uuid or instanceId.
    Cocos Creator 构造函数传参警告 Can not instantiate CCClass 'Test' with arguments.
    Cocos Creator 对象池NodePool
    Cocos Creator 坐标系 (convertToWorldSpaceAR、convertToNodeSpaceAR)
    Cocos Creator 常驻节点addPersistRootNode
    Cocos Creator 配合Tiled地图的使用
  • 原文地址:https://www.cnblogs.com/ForEvErNoME/p/2354507.html
Copyright © 2011-2022 走看看