您的位置:首页 > 其它

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

2012-02-16 16:34 330 查看
[b]本文内容[/b]
[b][b][b]  1. 什么是XML[/b][/b][/b]
[b][b][b][b]  2. XML的基本特点[/b][/b][/b][/b]
  3. HTML与XML区别
[b][b][b][b][b][b]  4. XML文档结构[/b][/b][/b][/b][/b][/b]
[b][b][b][b][/b][/b][/b][/b]
[b][b][b][b][/b][/b][/b][/b]
[b]1. 什么是XML[/b]

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>©</ch>
<ch>©</ch>
<ch>®</ch>
</chars>


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

实体

用途

<

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

>

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

&

通常用来替换字符(&)

"

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

'

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

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

<chars>

<ch><</ch>

      <ch>> </ch>

      <ch>&</ch>

      <ch>" </ch>

      <ch>'</ch>

</chars>


(7CDATA节

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

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

作者: ForEvErNoME
出处: http://www.cnblogs.com/ForEvErNoME/
欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐 或 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐