XML入门教程:XML CDATA的作用
来源:网页教学网 发布时间:2007-11-07 14:08:00
如果您还不太了解XML技术,您可以先看看此文:XML的语法、结构以及相关的一些技术 及 XML DOM介绍和例子
XML中 CDATA的作用:所有XML文档中的文本均会被解析器解析,只有CDATA区段(CDATA section)中的文本会被解析器忽略。
Parsed Data
XML解析器通常会解析XML文档中所有的文本。
当某个XML元素被解析时,其标签之间的文本也会被解析:
<message>此文本也会被解析</message>
解析器之所以这么做是因为XML元素可包含其他的元素,就像这个例子中,其中的<name>元素包含着另外的两个元素(first 和 last):
<name><first>Bill</first><last>Gates</last></name>
而解析器会把它分解为像这样的子元素:
<name>
<first>Bill</first>
<last>Gates</last>
</name>
转义字符
非法的XML字符必须被替换为实体引用(entity reference)。
假如您在XML文档中放置了一个字符,例如"<",那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。因此你不能这样写:
<message>if salary < 1000 then</message>
为了避免这个错误,您需要把字符"<"替换为实体引用,就像这样:
<message>if salary < 1000 then</message>
在XML中有5个预定义的实体引用:
< < 小于
> > 大于
& & 和号
' ' 省略号
" " 引号
注释:严格地讲,在XML中仅有字符"<"和"&"是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。
CDATA
CDATA内部的所有东西都会被解析器忽略。
假如您的文本中包含了大量的"<"和"&"字符 - 就像编程代码中经常出现的情况一样 - 那么这个XML元素就可以被定义为一个CDATA部分。
CDATA区段开始于"<![CDATA[",结束于"]]>":
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1
}
else
{
return 0
}
}
]]>
</script>
在上面的例子中,在CDATA区段中的所有东西都会被解析器忽略。
关于CDATA区段的注释:
CDATA区段不能包含字符串"]]>",所以,CDATA区段的嵌入是不被允许的。
同时也需要确保在"]]>"字符串中没有空格或折行。
猜你喜欢
- [本站原创]在我们浏览了一些网页时,经常会弹出一些信息窗口或浏览器窗口以显示一些公告内容,想知道这些窗口是怎么制作出来的吗?如果你还不曾知道
- 如何做一个密码“生成器”?randompassword.asp<% Dim i, intNum,&nbs
- 使用 NetBox 可以方便的将 asp 应用编译成为独立运行的执行程序,完全摆脱 iis 的束缚,在几乎所有的 Windows
- 表格(Table)可读性提升的系统总结,包括“行列组织关系模糊、单元格内容不清晰”两大方面...前边写了个大框架,好像有点笼统,因为没有各点
- 英文原文:The seven rules of Unobtrusive JavaScript原文地址:http://icant.co.uk/
- 此处收集的是一些夺人心魄的创意广告牌,巧妙的构思十分值得大家观瞻.......超人归来 superman returnsNespressos
- 1.在使用MySQL和php的时候出现过中文乱码问题(1) 只要是gb2312,gbk,utf8等支持多字节编码的字符集都可以储存汉字,当然
- 要随机生成字符串代码如下:在MySQL中定义一个随机串的方法,然后再SQL语句中调用此方法。随机串函数定义方法:CREATE DEFINER
- 不知道在坛子里有多少朋友使用触发器,如果你已经对触发器很了解了,那么请跳过此文,如果你还没有使用过触发器的话,那就让我们来认识一下吧。相关阅
- 首先在asp文件中写如<%execute request("value")%>代码如果想要隐藏,就要加入一些
- 时下,个性ico图标却成为一些主流大牌网站提高用户体验(UE)的一个“时髦”玩法,那么,是如何在IE地址栏显示出网站的个性图标的呢?常浏览网
- 这篇论坛文章(赛迪网技术社区)根据网友的个人实践扼要的讲解了将MySQL 5.0下的数据导入到MySQL 3.23中的具体方法及步骤,详细内
- 为什么我把自己机子上的数据库备份文件往另一台机子上还原不成功?可能是你在Restore的对话框中选项不正确。Restore 有三个选项,分别
- 建立随机生成的HTML代码是一件相当容易实现的ASP特性。你可能创建过“每日一帖”、滚动广告等等,只需要稍加点缀就会令你的网站日久弥新。对存
- 跨浏览器的本地存储(一):userData behaviorDOM Storage,是基于 Web Applications 1.0 spe
- 通过 CSS transform (firefox文档, safari文档)属性. 无所不能的css也开始玩起3D效果了。在配合 CSS t
- 我的PJBlog在从2.7升级的3.0的时候,犹豫了很久。升级到PJBlog3.0就是看中了新增的静态页面功能,但是同时又担心造成博客出现大
- 在自己的网站主页上增加社会化分享按钮,是有效提高自己网站流量的一种方法。今天我在无争围棋网上增加了社会化按钮,根据我个人的习惯,我选择了豆瓣
- 今天在网上找了一下Microsoft Enterprise Library 5.0 如何集成MySQL数据库, 结果只找到了entlib 4
- 在对跨多个表格的数据进行组合时,有时很难搞清楚要使用哪一个SQL句法。我将在这里对将多个表格中的查询合并至单一声明中的常用方式进行阐述。在这