繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 学习xml 之"实体"篇

学习xml 之"实体"篇

2007-09-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:引用地址:学习XML 之"实体"篇 继上次写了两篇文章后,转眼就过了半年。时间真tmd过得快啊。半年了,偶一本书才刚刚啃完。太不像话了! 性格决定命运!要改变命运,得先改掉不好的性格和和不良习惯。 坚持就是成功...
关键字:quot 实体 学习 xml

引用地址:学习XML 之"实体"篇

继上次写了两篇文章后,转眼就过了半年。时间真tmd过得快啊。半年了,偶一本书才刚刚啃完。太不像话了!

性格决定命运!要改变命运,得先改掉不好的性格和和不良习惯。 坚持就是成功,坚持就是胜利。拒绝三心二意,拒绝拖拖拉拉,拒绝好高骛远!

上次的两篇文章:

学习xml 之" 给个理由先"

学习xml 之"刘姥姥进大观园" -----xml概述

刚学习XML时,抱着《c# XML入门经典》前几章啃了三遍,愣是没完全看明白.感觉就像在梦游。最后才发现不是我太笨,也不是XML太难,而是这书tmd翻译得太垃圾。立马换了本《XML入门》,效果立竿风影啊,以前那些希里糊涂,混淆不清的概念,立马变得清析明了。五一之前终于将书看完了。现在开始复习,为了巩固学习效果.每章写一篇总结。

      第三篇: 学习XML 之"实体"篇

XML包含的7大基础概念:

1、元素  在XML将XML数据划分为不同部分和语义的标签,如:

2、属性  对元素进行描述和修饰。 

3、名称空间 类似于c#中的名称空间,用来隔离相同或不同的元素。

4、实体 内容占位符,用于内容转义,代表一些重复的或无法通过键盘输入或与XML 规范保留字符相冲突的字符数据,有点似类于 c# 中的转义字符。

5、注释 文档的注解,写程序员都明白

6、CDATA  CDATA指的是CharacterData 字符数据,在CDATA块中的字符将以原样输出。XML处理器不做任何解释。XML认为CDATA是纯字符数据,不存在标记和其他元素。 这个有点类似于c#中的 @符号,我们在一个字符串前使用@与这个CDATA有异曲同工之妙。

7、处理指令 格式,负责与处理器进行交互,每种XML处理器都有一些命令开关。而处理器指令就是调用这些开关的。每个处理器的开关都不尽相同。 这个处理指令是每个XML处理器都支持的。

  XML的七大基础概念中,实体算是最复杂的了,现在开始介绍实体:

   一、实体的作用:

A、代替无法输入的字符,键盘只有26个字母和一些简单的标点符号,而字符集中有成N多各种符号是无法在键盘中输入的。这时使用实体来代替。

B、代替一些与XML规范保留字相冲突的内容,如:< > 等等。

C、代替大段的重复的文本。

   二、实体的分类:

     实体分为: 参数实体和通用实体两种。 参数实体用在DTD定义中。一般的XML文档中都使用通用实体。这里只介绍通用实体。

    

   使用实体之前,必需先声时,声明语句位于XML文档的序言的内部子集中,实体声明必需使用大写方式,如: ,ENTITY必需是大写的。使用实本时,在实体名称前面加上 & ,并表在后面加上分号: ;。与HTML中的转义符类似。在以下XML中:&client;引用了一个实体,&241;引用了一个实体。当XML处理器碰到实体引用时,会使用定义实体时设定的值去代替实体声时。 如下面的示例,当处理器解析到&client;时, 会使用"Mr.Rufus Xavier SASPerilla"来代替这个&client;在解析后的文本中,是看不到&client;的。

  

[

617-555-1299">

]>

Dear &client;

We Have an exciting in Pi&241;,call &agent;

 

 1、字符实体 

  

   字符实体用来代表单个字符。字符实体分为以下三种:

 

     a、预定义字符实体

        由XML规范预先定义好了,如 amp 代表&, apos 代表单引号,gt 代表>, 在使用时加上&号,如: & 表示单个字符&, ' 表示单引号。

     b、数字字符实体

        在前面我们总结实体的作用时,有一条;可以代表无法输入的字符。这些字符就是使用数字字符实体表示的。我们可以使用某个字符在字符集中的位置数来表示该字符。 该数字可以使用10进制或16进制的方式表示,在数字前面加上:&# , 比如: ç 16进制的表示:ç , 这两种方式都表示同一个字符。

     c、命名字符实体

与数字字符实体类似,只是将数字改为一个更容易记忆的英文标识.

2、混合内容实体

   混合内容实体是XML中使用得最多的实体,它的值不仅限于单个字符,还可以代表不限长度的各种字符块。混合内容实体分为:内部实体和外部实体

a、内部混合实体

      内部混合实体表示该实体在XML文档内部定义,内部实体常用来代替经常重复的短语,名称和模板文本。上面的XML示例中,agent 实体就是典型。 除了agent,clietn, phone 实体都是内部混合实体。

    b、外部混合实体

一些实体需要代表大块的字符,为了便于文件的管理,可以将这些大块的字符放在其他文件中,这是外部混合实体便发挥作用了。可以在外部文件中定义实体,然后在XML文档中声明并使用它。下面是一个例子:

    

[

]>

&part1;

&part2;

&part3;

    声明了一个名称为;“part1"的外部实体,该实体代表的内容处于P1.XML文件中。 part2, part3 也分别代表了 p2.XML, p3.XML 中的内容。

外部混合实体最大的用处是可以将内容太长的XML文档分成几个小的XML文档,便于网络传输。

 

  3、未析实体 

   未体实体代表不同于XML文档内容的其他数据,如:二进制数据等等。当XML处理器无法识别该数据时,不会像对待其他实体一样,去解析它,而是让它保持原样。未析实体的定义与外部混合实体的声明方式类似,只是后面多了个“NDATA”字符和一些数据标识。比如:

  

[

]>

Here's a picture of me:

&mypic;

  

责任编辑:admin
相关文章