我的博客开张了,第一次写Blog真不知道该写些什么,正好最近在整理之前的学习笔记,相信这对于那些初学者来说应该很有用,因此今天抽空整理的下,把它“贴”出来,希望对于那些刚接触编程的初学者能有用。这次我主要整理的XML的一些基本东西,与XML相关的其它内容将在稍后陆续发布。同时也谢谢您的光临!谢谢!

一、         XML的一些介绍

XML(Extensible Markup Language)可扩展标记语言,属于一种标记语言。它在写法上类似于HTML,属于SGML的子集,它不仅继承SGML(Standard Generalized Markup Language----标准通用标记语言,是一种指示文档标准语言或标记集的标准)自定义标记的优点又摒弃了一些SGML复杂的部分,在功能上能够补充HTML标记的不足,拥有更多的扩展性。

二、         XML文件的组成

XML文件基本上可以说是由标记和内容组成的,在XML文件中能够出现的组成元素主要有六种:

a)        元素(Element

XML文件是由元素组成的俄,XML的元素和标记代表的意义是不同的:

Ø         标记(Tag):XML能自定义的标记,用来标识文件的部分内容

Ø         元素(Element):XML元素为整个文件的主要架构,元素的本身可以是标记   加上文字内容或是元素包含其他的元素,元素它是一个完整的项目包含了标记、属性、开始标记和结尾标记内的文字内容和结尾标记。

b)        属性(Attribute

在开始标记的标记名称后,可以替标记加上属性名称,每一个属性都拥有属性名称和值且值需用引号括起来。

c)        实体参考(Entity Reference

标记语言本身拥有一些保留符号,如“<”,如果文件内容需使用到这些符号时就需要使用实体参考,在XML中有五个预先保留的实体参考,如下表:

实体参考

符号

&lt;

< 

&gt;

> 

&amp;

&

&apos;

&quote;

                    

d)        注释(Commet

HTML注释一样,由“<!—”开始和以“—>”结尾

e)        CDATA块(CDATA Section)与PCDATA

XML文件的文字内容就是PCDATA,在处理XML元素title时,标记中的文字内容就是PCDATA

f)         PIProcessing Instructions

PI允许XML文件包含应用程序的指令。如XML文件的开头声明就是一个PI,这些信息告诉XML解析器如何处理该XML文件

PI格式是以“<?name”开始和以“?>”结束,name就是“PI目标PI Target)名称

g)        DTDDocument Type Declarations

XML规格中有很大的部分属于DTD文件验证指令,这是SGML默认的文件验证方式,也被XML所采用,在XML文件除了元素外就是检查这些元素的DTD

 

三、         XML文件的声明

所有的XML文件都需要特别的程序代码来声明这份文件为XML文件,因而在XML文件文件的开头我们经常会看到这样的文件声明块:

<?xml version="1.0" encoding=" GB2312" standalone=”no”?>

Version:声明该XML文件的版本

Encoding:声明该XML文件使用的字符集(这里使用了简体中文)

Standalone:声明该XML文件是否为独立文件或者说是否使用外部DTD文件 yes表示不使用外部DTD文件,no表示使用。该属性可省略)

四、         XML文件的语法

a)        开始标记和结束的语法

Ø         开始标记:

<tag_name attribute_name =” vlaue” ……>

这里的tag_name是标记的名称,后面是其属性,也可以没有属性

注意:在XML中大小写是有区分的,标记名称必须成对出现,如<a>….</a>

Ø         结束标记:

</tab_name

b)        空元素的标记语法

如果开始和结束标记没有任何内容,我们称之为空元素标记,空标记有两种写法:

Ø         <tag_name />

Ø         <tag_name> </tag_name>

c)         元素标记的注意点

Ø         嵌套的XML元素不可以重叠

如:<a><b>asdfsda</b></a> 而不能写成 <a><b>asdfsda</a></b>

Ø         属性值需要有双引号

五、         XML命名空间

为什么会介绍命名空间问题呢?我们在程序中经常会遇到在一个文件中有重复的标记问题,而这连个标记又处于不同的空间下,为了进一步辨识他们我们使用命名空间。(通俗的来说,在一个XML文件中,我们在节点<EmployeeInfo>下有<address>节点,同时在节点<Job>下又有<address>节点,两个节点在机器辨识的时候可能会出现错误,加入命名空间后可以有效地辨识它们)

a)        标记的完整名称

<命名空间前缀 :标记名称>

 

由于网址是唯一的,通常我们将其标记为命名空间,同时我们可以使用 urn声明命名空间。

b)        默认声明

在同一个XML元素的范围内声明默认的命名空间只需要在根元素声明命名空间,格式如下:            xmlns :prefix = “uri”

xmlns”后加上的是前缀名称,如 xmlns:company = “http://www.haiye.com”

c)        显示声明

由于XML文件中的元素从属于多个命名空间,我们可以使用前缀名称来显示声明

如:      <company : Intorduce xmlns:company = http://www.haiye.com

xmlns: product = = http://www.haiyeMusic.com>

                     < company :name>    海业购物网    </ company :name>

                     < company :produceList>

<product:list >

<product:name> 海业静听播放器 <product:name>

<product:author>   Steven       <product:author >

<product:reason> 曾经的回忆    </product:reason>

< /product: list >

                                   < product:name>

< company :produceList>

                     < company :address> 上海市浦东张江 </ company :address>

              </ company : Intorduce>

六、         结束语

我想通过我对XML的一些介绍和总结能对刚刚接触XML的初学者起到一个入门的重用,这里面所讲的应该比较通俗易懂。在以后的笔记中我将对XML这一目前应用广泛的标记语言作深入介绍,如XML Schema等以及在程序中如何操作和利用XML来更好地为我们的应用程序或系统服务,尤其能让初学者从易而难地掌握他。

 

                                                                             整理人: Steven

                                                                             时 间:2007-4-7

posted on 2007-04-07 19:07  steven love sunny  阅读(601)  评论(1编辑  收藏  举报