Web Services 应用开发学习笔记(一):XML概述

本文详细介绍了XML的概念、特点、与HTML的区别、文档结构及关键元素。探讨了XML的可扩展性、数据交换能力、数据共享特性,以及与HTML相比的优势。通过具体的XML文档结构示例,展示了XML元素的命名规则、分类、属性使用、注释和字符引用方法。最后,总结了XML在实际应用中的重要性和常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文内容
  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/
欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐关注
 
 

转载于:https://www.cnblogs.com/ForEvErNoME/archive/2012/02/16/2354507.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值