XML学习

本文介绍了XML的基本概念和使用方法,包括XML的定义、语法规范、元素属性的使用、CDATA的使用及实体的定义与调用等内容。
摘自http://www.itlearner.com/Article/2005/1687.shtml(忠告:跳吧~我写的你们是摸不清的)


1.XML是一种标记语言,用来描述数据(与之相比,HTML用来显示数据),至于数据如何显示、或传输、或处理,那是别的程序或语言的事。

2.XML文件的开头,要用一个声明行如<?xml version="1.0" standalone="yes" encoding="UTF-8"?>,用以说明版本和编码。standalone 元素说明文档是"独立的",它不需要DTD文件来验证其中的标识是否有效; encoding元素用来说明文档所使用的语言编码。默认的是UTF-8,如果使用中文,你需要设置为GB2312。
XML的所有元素都必须有一个结束标签,标签大小写敏感,标签嵌套必须准确,每个XML文件必须有一个根元素,属性值必须用双/单引号括起(要成对使用),XML中的空格被保留,新起一行的回车换行统一用换行符一个,XML中的注释跟HTML一样。(即<!-- -->)

3.XML元素
  一个XML元素包括开始标签和结束标签以及它们之间的内容,可动态扩展,有父子关系或兄弟关系。一个元素的内容可以为空。

4.XML元素属性
什么是属性?看这段HTML代码:<font color="red">word</font>。其中color就是font的属性之一。属性是对标识进一步的描述和说明,一个标识可以有多个属性,例如font的属性还有size。XML中的属性与HTML中的属性是一样的,每个属性都有它自己的名字和数值,属性是标识的一部分。举例:<author sex="female">ajie</author>XML中属性也是自己定义的,我们建议你尽量不使用属性,而将属性改成子元素,例如上面的代码可以改成这样:
<author>ajie
<sex>female</sex>
</author>
  用属性存放数据有以下弊端:不能含有多个值,不易扩展、不能描述数据结构、程序难以处理、不能用DTD来进行检查。
  这个作者习惯有一个例外,就是ID或名,可以放在属性里。

5.XML语法
CDATA全称character data,翻译为字符数据。我们在写XML文档时,有时需要显示字母,数字和其它的符号本身,比如"<",而在XML中,这些字符已经有特殊的含义,我们怎么办呢?这就需要用到CDATA语法。语法格式如下:

<![CDATA[这里放置需要显示的字符]]>

例如:
<![CDATA[<AUTHOR sex="female">ajie</AUTHOR>]]>

在页面上显示的内容将是"<AUTHOR sex="female">ajie</AUTHOR>"

6.entity的语法

entity翻译为"实体"。它的作用类似word中的"宏",也可以理解为DW中的摸板,你可以预先定义一个entity,然后在一个文档中多次调用,或者在多个文档中调用同一个entity。
entity可以包含字符,文字等等,使用entity的好处在于:1.它可以减少差错,文档中多个相同的部分只需要输入一遍就可以了。2.它提高维护效率。比如你有40个文档都包含copyright的entity,如果需要修改这个copyright,不需要所有的文件都修改,只要改最初定义的entity语句就可以了。
XML定义了两种类型的entity。一种是我们这里说的普通entity,在XML文档中使用;另一种是参数entity,在DTD文件中使用。
entity的定义语法为:
<!DOCTYPE filename [
<!ENTITY entity-name "entity-content"
]
>
例如我要定义一段版权信息:
<!DOCTYPE copyright [
<!ENTITY copyright "Copyright 2001, Ajie. All rights reserved"
]
>
如果我的版权信息内容和他人共享一个XML文件,也可以使用外部调用的方法,语法象这样:
<!DOCTYPE copyright [
<!ENTITY copyright SYSTEM "http://www.sample.com/copyright.xml">
]
>
定义好的entity在文档中的引用语法为:&entity-name;
例如,上面定义的版权信息,调用时写作:&copyright;
完整的例子如下,你可以copy下来存为copyright.xml观看实例:
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE copyright [
<!ENTITY copyright "Copyright 2001, Ajie. All rights reserved">
]>
<myfile>
<title>XML</title>
<author>ajie</author>
<email>ajie@aolhoo.com</email>
<date>20010115</date>
&copyright;
</myfile>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值