XML文档语法 学习笔记

 

本文查阅方法:
    1、查阅目录 —— 查阅本文目录,确定想要查阅的目录标题
    2、快捷“查找” —— 在当前浏览器页面,按键 “Ctrl+F” 按键组合,开启浏览器的查找功能,
             在查找搜索框中 输入需要查阅的 目录标题,便可以直接到达 标题内容 的位置。

     3、学习小结 —— 文中的学习小结内容,是笔者在学习之后总结出的,开发时可直接参考其进行应用开发的内容, 进一步加快了本文的查阅 速度。(水平有限,仅供参考。)

 

 


 

 

 

 

本文目录

 

    学习小结

 

    1、什么是XML,为什么学习XML?

 

    2、XML技术用于解决什么问题?

 

    3、XML常见应用

 

    4、XML语法概述

 

    5、XML语法-文档声明

 

    6、XML语法- 元素

 

    7、元素的命名规范

 

    8、XML语法- 属性

 

    9、XML语法- 注释

 

    10、XML语法- CDATA区

 

    11、XML语法- 转义字符

 

    12、XML语法- 处理指令

 

    13、XML约束概述

 

    ​14、XML编程(CRUD) —— Xml文档的解析与操作

 

 

 


相关文章

    XML文档语法 学习笔记
        地址:http://even2012.iteye.com/blog/1828064

 

    DTD约束 —— Xml文档 约束技术 学习笔记
        地址:http://even2012.iteye.com/blog/1828290


    Schama —— Xml文档约束技术 学习笔记
        地址:http://even2012.iteye.com/blog/1832073

    Dom4j 解析Xml文档及 XPath查询  学习笔记
        地址:http://even2012.iteye.com/blog/1832068

    Jaxp :Dom解析Xml文档和SAX解析Xml文档学习笔记
        地址:http://even2012.iteye.com/blog/1829981



 


 学习小结



 


 

 

 

1、什么是XML,为什么学习XML?

 

    Extensible Markup Language,翻译过来为可扩展标记语言。Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范。  

 

在现实生活中大量存在有关系的数据,如图所示。问题:这样的数据如何交给计算机处理呢?

 

       
       
 

 

 

 


 

 

 

2、XML技术用于解决什么问题?

 

    XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。

 

    在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。例如:

 

           
        
 

 

 

 


 

 

 

3、XML常见应用

 

    XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。

 

    在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定。

 

    例如一个软件在启动时,它需要启动A、B两个模块,而A、B这两个模块在启动时,又分别需要A1、A2和B1、B2模块的支持,为了准确描述这种关系,此时使用XML文件最为合适不过。

 

 

 


 

 

 

4、XML语法概述

 

  一个XML文件分为如下 6 部分内容:

 

          a. 文档声明 

          b. 元素

          c. 属性

          d. 注释  

          e. CDATA区 、特殊字符 

          f. 处理指令(processing instruction)  

 

 

 


 

 

 

5、XML语法-文档声明

 

    在编写XML文档时,需要先使用文档声明,声明XML文档的类型。

 

    最简单的声明语法:

 

        <?xml version="1.0" ?>

 

    用encoding属性说明文档的字符编码:

 

        <?xml version="1.0" encoding="UTF-8" ?>  

 

        比如:文中有中文出现时,就必须要写encoding

 

    用standalone属性说明文档是否独立:

 

      <?xml version="1.0" encoding="GB2312"  standalone="yes" ?>

 

    备注:IE浏览器 对于标签standalone并不解析,就是说yes/no都没影响。

 

    

 

    常见错误:

 

        a. <?xml version=1.0 ?>

 

        b. <?xml version=“1.0” ?>

 

        c. 编码错误

 

    建议:使用声明时,从其他的文档拷贝一份 声明语句,防止放生错误。    

 

 

 


 

 

 

6、XML语法- 元素

 

    XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

 

          a. 包含标签体:<a>www.itcast.cn</a>

          b. 不含标签体的:<a></a>, 简写为:<a/>

          c. 嵌套标签体:<a>welcome to <b>www.it315.org</a></b> 

 

    备注:(1)标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 。        

 

               (2)良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签。  

 

    对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。例如:下面两段内容的意义是不一样的。
   

 

    由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。

 


 

 

 

7、元素的命名规范

 

    一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

 

          a. 区分大小写,例如,<P>和<p>是两个不同的标记。

          b. 不能以数字或"_" (下划线)开头。

          c. 不能以xml(或XML、或Xml 等)开头。    

          d. 不能包含空格。

          e. 名称中间不能包含冒号(:)。

 


 

 

 

8、XML语法- 属性

 

    一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:

 

        <input name=“text”>

 

          a. 属性值一定要用双引号(")或单引号(')引起来

          b. 定义属性必须遵循与标签相同的命名规范 

 

    多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:

 

        <input>

 

           <name>text</name>

 

        </input>

 

 

 


 

 

 

9、XML语法- 注释

 

    Xml文件中的注释采用:“<!--注释-->” 格式。

 

    注意:

 

          a. XML声明之前不能有注释

          b. 注释不能嵌套,例如:

 

          <!--大段注释

 

              ……

 

                <!--局部注释-->

 

              ……

 

          -->  

 

 

 


 

 

 

10、XML语法- CDATA区

 

    在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理(如配置文件中的参数值)。

 

    遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。

 

    语法:<![CDATA[ 内容 ]]>

 

    Demo: <![CDATA[

 

                <itcast>

 

                  <br/>

 

                </itcast>

 

              ]]>

 

 

 


 

 

 

11、XML语法- 转义字符

 

    对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。

 

    备注:当特殊字符需要交由计算机进行读取话,一定要使用CDATA字符区;

 

          若是仅给人来阅读,就可以使用转义字符。因为二者的在XML文档中实际的源字符不同。

 

       
          
 

 

 

 


 

 

 

12、XML语法- 处理指令

 

    (1)处理指令,简称PI (Processing Instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

 

        例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容:  

 

                eg:<?xml-stylesheet type="text/css" href="1.css"?>

 

    (2)处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。 

 

        备注:可以多条处理指令同时使用,各司其职: 

 

            eg:<?xml version="1.0" encoding="GB2312"  standalone="yes" ?>

 

                <?xml-stylesheet type="text/css" href="1.css"?>

 

 

 


 

 

 

13、XML约束概述

 

    什么是XML约束:

 

        在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。

 

    为什么需要XML约束:

 

        便于不同的人在使用同一版本的Xml文档时可以写书同样的Xml文档(尤其是配置文件)

 

    常用的约束技术:

 

          a. XML DTD     —— 参见我的博文:《DTD —— Xml文档 约束技术  学习笔记

          b. XML Schema  —— 参见我的博文:《Schema —— Xml文档 约束技术 学习笔记 》  

 

 

 


 

 

 

14、XML编程(CRUD) —— Xml文档的解析与操作

 

    我们对于Xml文档所进行的增删查改(CRUD)编程都是基于 XML解析技术 进行的,只有现将Xml进行解析到系统内存中后,我们才可以进行所需要的Dom编程。

 

    (1)XML解析技术概述

 

        XML解析方式分为两种:dom和sax

 

          a. Dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式。

          b. Sax: (Simple API for XML) 不是官方标准,但它是 XML 社区事实上的标准,几乎所有的 XML 解析器都支持它。

 

    (2)XML解析器:

 

        Crimson(sun公司)、Xerces(IBM公司) 、Aelfred2(Dom4j开源组织)

 

    (3)XML解析开发包(API+XML解析器)

 

        Jaxp(内置Xerces)、dom4j(内置Aelfred2 ) 、Jdom(很少被使用了)

 

    

 

    备注:关于Jaxp 和 Dom4j 两个 API的使用,请分别参见我的博文:

 

          a. 《 Jaxp 解析Xml文档 及其Dom编程  学习笔记》

          b. 《Dom4j 解析Xml文档 及其Dom编程  学习笔记》

 


 

  
    
    

 

 

        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值