分享
 
 
 

XML简明教程(二)

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

二、XML基础 (一)XML术语

在学习XML之前,我想先给大家介绍一些XML使用的术语。平常我们学习新的语言时,总会遇到许多难以理解的术语,在这里

就先介绍一些主要的给大家。

元素(Elements):代表XML文档中的每一个组件,包含字符、元素或者两者皆有,允许有空元素(empty element)。

属性(Attributes):放在元素后面的数据,代表这个元素的另一种特性和特征。

统一编码(Unicode):一种字符集,包括了全世界各种语言中有用的字符。

实体:“文本片”,实体也像一个缩写,一个实体可以是一个字符也可以是一个文档的数据,是XML文本的基本单位。

标记(Markup):像标记(TAG)、实体引用(Entity reference)和声明这样的构件。

样式表(XSL):描述XML的元数据文件格式的语言(因为CSS对于XML来讲不够用)。

序言(Prolog):关于文档实例表现形式的信息。

文档实例(Document instance):以元素的层次结构组织的实际文档数据。

(二)XML语法简介

1.看一个简单的例子

这是一个关于库存物品清单的简单例子,大家可以从中发现XML的许多特性,并且可以体会到XML的元数据文件是非常清晰易

读的:

<!-XML文件示例-->

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

<库存清单>

<!--这里就是注释-->

<库存物品>

<名称>毛巾</名称>

<规格 单位="cm">25*50</规格>

<生产厂家>中国棉纺厂</生产厂家>

<生产日期>20010-09-01</生产日期>

<数量 单位="条">400</数量>

<进货价 单位="元">2.5</进货价>

<零售价 单位="元">6.5</零售价>

</库存物品>

<库存物品>

<名称>碗</名称>

<规格 单位="cm">5*15</规格>

<生产厂家>中国搪瓷厂</生产厂家>

<生产日期>20010-09-11</生产日期>

<数量 单位="个">200</数量>

<进货价 单位="元">1.5</进货价>

<零售价 单位="元">4.5</零售价>

</库存物品>

<库存物品>

<名称>筷子</名称>

<规格 单位="个">1*10</规格>

<生产厂家>中国搪瓷厂</生产厂家>

<生产日期>20010-09-11</生产日期>

<数量 单位="把">200</数量>

<进货价 单位="元">1.5</进货价>

<零售价 单位="元">3.5</零售价>

</库存物品>

</库存清单>

看过了XML语言的基本格式,下面将详细讲解XML元数据文件的各个组成部分,实际就上面这些而言是非常简单的,当然,我

们要想更清楚的了解和学习XML,就必须清楚地知道这些定义的意义。

2.声明(Declaration)

XML数据文件的定义不象HTML那样自由,它是非常严格的,缺少一个就会出错!因为每个XML的解析器第一步要做的事情就是

检查XML文件是否合格,就是“well-formed”,所以大家看到第一句是这样些的:

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

注意的是:不能漏掉此句,否则解析器不予解析的!当然里面的encoding可以不用写,缺省是Unicode,在此对XML使用的字符编

码作一下说明,大家都应该知道中文和英文的区别吧,呵呵,有人说了,这也太简单了,实际上平时有区别就罢了,结果闹到计算机

上真是比较麻烦,大家用过古董DOS的就知道使用汉字在计算机上是一件多么困难的事情,别人26个字母就可以搞定,汉字却要好几万

个。现在的计算机的发展虽然神速,可国际化的问题却一直存在,况且不属英语语系的国家也都有此类问题,因此美国的各大电脑厂

商组成了一个Unicode促进会,结合ISO的字库标准,推出了Unicode,这个编码可以满足绝大多数语系的需要!

3.元素(Elements)和属性(Attributes)

<元素名 属性名=”属性值”>

<子元素>元素的数据</子元素>

</元素名>

大家看上面的这个例子,就能很形象的理解什么是元素什么是属性,但是需要注意的是元素的大小写是不一样的,也就是说<

t></t>和<T></T>不是同一个元素。还有就是元素里的数据,只要是合法的就会完全忠实的成为数据,就如:

<元素名>这是一个</元素名>

<!-这是另一个-->

<元素名>这是一个 </元素名>

<!-这又是另一个-->

<元素名>这是一个

</元素名>

大家注意到没有,第一、二只差一个空格,第三个则是多了一个回车符,但是这三个数据却是不同的数据,因此大伙在写这

些数据的时候可一定要小心!

如果大家对于面向对象熟悉的话,一定清楚类也是有属性的,而XML自然也是包括属性的,XML的元素是拥有属性的,而且可

以有许多属性,并且属性值必须使用单引号或双引号包含起来。

4.注释(Comments)

如果大家编写过程序,就一定知道,看别人的程序是一件非常痛苦的事情。如果别人的程序是没有注释的话,那简直就成了

一种惨无人道的折磨,呵呵,所以,在文档中嵌入关于文档和标记的信息就是很有帮助的。这样不但可以帮助别人也可以帮助自己。

在XML的注释里是这样的:

<!-啊,这就是帮助-->

在这个注释中间,可以放入除了“--”符号以外的所有字符,这稍稍有些不习惯,我们往往会使用这个符号来分离不同组成部分

的文档,在XML的文件里则需要改一改了。

5.预定义实体

当我们创建XML时候,有些符号例如“<”等和XML相重的标记,譬如下面的:

<文章>

<段落>

<html>

<head>

<title></title>

</head>

<body>

<h1>我们那嘎都是活雷锋</h1>

<b>老张开车去东北……撞了</b>

</body>

</html>

</段落>

</文章>

这样是肯定行不通的,HTML和XML的定义相重,因为XML有5种预定义的实体,如下:

&-------------------&

<----------------------<

>--------------------- >

&apos;------------------‘

"------------------“

这样再写这些文件就会象下面这样:

<文章>

<段落>

<html>

<head>

<title></title>

</head>

<body>

<h1>我们那嘎都是活雷锋</h1>

<b>老张开车去东北……撞了</b>

</body>

</html>

</段落>

</文章>

解析器会自动把这些符号转换成我们所要的文件,但是这样实在是不好看懂,所以就又有了这个CDATA。

6.CDATA

从上面那一节的例子可以看出,使用预定义实体实在是难以看懂,但是有了这个CDATA之后,我们就可以让分析器把那些特殊

数据当作普通的数据来处理了!

CDATA的定义如下:

<![CDATA[ 内容 ]]>

将上节的例子拿来使用:

<文章>

<段落><![CDATA[

<html>

<head>

<title></title>

</head>

<body>

<h1>我们那嘎都是活雷锋</h1>

<b>老张开车去东北……撞了</b>

</body>

</html>

]]>

</段落>

</文章>

这样,解析器就可以解释在这个符号中间的特殊字符了!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有