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/
    欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐关注
     
     
  • 相关阅读:
    js实现弹窗后选择信息填入text标签中以及需要注意的问题
    JDBC链接mysql之后出现read-only
    面试题之心理测试题及答案
    互联网经济思维故事
    模板
    工具包、类
    开源项目
    项目开发工具
    Java API 常用 详解
    spring文章
  • 原文地址:https://www.cnblogs.com/ForEvErNoME/p/2354507.html
Copyright © 2011-2022 走看看