XML编程 重点讲义备忘 1Word文档格式.docx
《XML编程 重点讲义备忘 1Word文档格式.docx》由会员分享,可在线阅读,更多相关《XML编程 重点讲义备忘 1Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
HTML显示数据
✓内容:
XML的标记都是自定义的,HTML的标记都是已经定义好的
示例
Html:
<
p>
<
b>
张三<
/b>
br>
男
北京广播学院:
导播专业
/p>
XML:
person>
name>
/name>
sex>
男<
/sex>
university>
北京广播学院<
/university>
speciality>
导播专业<
/speciality>
/person>
二XML文档声明
大多数XML文档以XML声明作为开始,它向解析器提供了关于文档的基本信息。
建议使用XML声明,但它不是必需的。
如果有的话,那么它一定是文档的第一行代码。
如下所示:
?
xmlversion="
1.0"
encoding=“UTF-8"
standalone="
no"
>
1.1"
?
xml>
声明最多包含三个属性(形式为:
属性名=属性值)
●version是使用的XML版本;
目前最新版本为1.1
●encoding是该文档所使用的字符集。
如没有指定encoding,XML解析器会假定字符在utf-8字符集中,这是一个几乎支持世界上所有语言的字符和象形文字的unicode标准
●standalone(可以是yes或no)定义了是否可以在不读取任何其它文件的情况下处理该文档。
因为standalone=“no”是缺省值,所以我们很少会在XML声明中看到standalone
三定义XML文档
我们说XML就是自定义标记。
XML的标记都是成对出现,有始有终。
XML文档由标记、元素、属性组成。
1标记(标签):
由一对尖括号包起来。
例如:
开始标记<
自定义标记名>
,结束标记<
/自定义标记名>
2元素:
由成对的开始、结束标记以及两个标记中间的所有内容组成元素。
一.3的样本中
组成了一个元素,<
也组成了一个元素,而<
和<
以及两个标记内的内容也组成了元素。
元素内部还有四个元素,称为子元素
3属性:
一个元素的开始标记中的名称-值对(形式为:
fontcolor=“blue”>
爱我中华<
/font>
中,color就是font元素的属性。
XML文档的声明就包含了几个属性。
四元素
1命名
✓1、名称只能以字母、下划线(_)、冒号(:
)开头
✓2、名称中可以包含字母、数字、下划线以及其它在XML标准中允许的字符
✓3、名称中不能包含空格
✓4、名称中尽可能不要使用冒号(:
),因为冒号在名称空间中被用于分隔名称空间和本地部分
2元素的形式
●空元素
person/>
●带属性的空元素
personage=’18’/>
●带内容的元素
person>
詹姆斯.邦德<
/person>
●带内容和属性的元素
personage=’18’>
詹姆斯.邦德
3元素(子元素)内容的构成
前文描述:
而两个标记中间的所有内容可以包含子元素、字符数据【字符引用、实体引用】、CDATA段。
●子元素:
本身也是元素,被嵌套在上层元素(父元素)内部。
子元素是相对于父元素而言的,如果子元素还嵌套了其它元素,那么它同时也是其它元素的父元素
●字符数据:
可以是不包括任何标记的起始定界符和CDATA段的结束定界符的任意字符串,也就是说在元素的内容中,字符数据不能有&
(和号)、<
(小于号)和"
]]>
"
(字符串)
在CDATA段中,字符数据是除CDATA段标签外的任一字符数据
未经处理的小于号与和号在XML文本中往往被解释为标记的起始定界符(除CDATA段外)
针对于<
(小于号)、>
(大于号)、"
(双引号)、'
(单引号)、&
(和号)
系统提供了5个预定义的实体引用,分别表示XML文档中的5个特殊字符,
系统提供了5个预定义的字符引用,分别表示XML文档中的5个特殊字符
字符
字符引用(十进制)
字符引用(十六进制)
实体引用
&
#60;
#x3c;
lt;
#62;
#x3e;
gt;
“
#34;
#x22;
quot;
‘
#39;
#x27;
apos;
#38;
#x26;
amp;
●CDATA段:
段中包含的都是纯字符数据,在字符数据可以出现的任何地方都可以使用CDATA段
CDATA段主要用于需要解释为字符数据而不是标记的情况下,CDATA段中的内容不会被XML处理器分析,所以可以在其中包含任意的字符
XML文档中,我们需要包含JAVA代码,而JAVA代码中可以存在着大量的特殊字符,这个时候,CDATA段就派上用场了。
以<
!
[CDATA[开始,以字符串]]>
结束
[CDATA[
for(inti=0;
i<
10;
i++){……}
五XML文档结构的规范
1根元素
XMl文档的内容(除文档声明外)都必须包含在某个元素内。
这个包含了所有内容的元素称为根元素。
有且只能有一个根元素。
2元素不能重叠
错误的重叠元素<
age>
35<
/age>
3标记的开始和结束
不能省去任何标记的结束标记,标记必须成对出现
4大小写
标记是区分大小写的。
错误的大小写混乱标记<
ITjob!
/B>
5属性
属性必须有值
属性值必须用引号括起来。
可以用单引号,也可以用双引号,但必须一致。
6注释
--这里是注释-->
注释内的任何标记都被解析器忽略
六命名空间
1命名冲突
XML文档中使用的元素都是自定义的,有可能出现同一级的相同元素名,但元素内部又不一样
home>
table>
tr>
td>
啤酒<
/td>
遥控器<
/tr>
/table>
意大利琥珀斑纹大理石茶几<
size>
w70*l120*h50<
/size>
price>
12w<
/price>
/home>
两个XML文档片断在一起使用的话,那么将会出现命名冲突的情况。
因为这两个片断都包含了<
元素,而这两个table元素的定义与所包含的内容又各不相同。
在程序读取了这两个table元素后不能统一按一个方法处理。
2使用前缀
h:
/h:
f:
/f:
现在已经没有元素命名冲突的问题了,因为这两个文档对各自的table元素使用了不同的前缀,table元素在两个文档中分别是(<
h:
和<
)。
通过使用前缀,我们创建了两个不同的table元素
3使用命名空间
此时解析器并不认识<
、<
等标签的写法。
这时需要有个xmlns的属性说明这种命名方式在哪里有规定
例如
tablexmlns:
h="
http:
//www.w3.org/TR/html4/"
….
f="
4命名空间属性
命名空间属性一般放置在元素的开始标记处
其使用语法如下所示:
xmlns:
namespace-prefix="
namespace"
4实际使用和解释
W3C命名规范声明命名空间本身就是一个统一资源标示符,UniformResourceIdentifier(URI)。
当我们在元素的开始标记处使用命名空间时,该元素所有的子元素都将通过一个前缀与同一个命名空间相互关联
h=http:
//www.w3.org/TR/html4/