精华内容
下载资源
问答
  • cdata
    2022-08-19 13:43:54

    一、前言

    XML文档中所有的文本均会被解析器解析。只有CDATA中的文本会被解析器忽略。

    二、PCDATA - 被解析的字符数据

    XML 解析器通常会解析 XML 文档中所有的文本。

    当某个 XML 元素被解析时,其标签之间的文本也会被解析:

    <message>This text is also parsed</message>

    解析器之所以这么做是因为 XML 元素可包含其他元素,就像这个实例中,其中的 <name> 元素包含着另外的两个元素(first 和 last):

    <name><first>Bill</first><last>Gates</last></name>

    而解析器会把它分解为像这样的子元素:

    <name>
    <first>Bill</first>
    <last>Gates</last>
    </name>

    解析字符数据(PCDATA)是 XML 解析器解析的文本数据使用的一个术语。

    三、CDATA - (未解析)字符数据

    术语 CDATA 是不应该由 XML 解析器解析的文本数据。

    像 "<" 和 "&" 字符在 XML 元素中都是非法的。

    "<" 会产生错误,因为解析器会把该字符解释为新元素的开始。

    "&" 会产生错误,因为解析器会把该字符解释为字符实体的开始。

    某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。

    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 部分。

    标记 CDATA 部分结尾的 "]]>" 不能包含空格或换行。

    更多相关内容
  • 首先看实例代码: 昨天读取了以下XML, 之前没有读取过类似的格式,用一种比较笨的方法读取的,记录下 <?xml version=1.0?> <srvver>1.0 <srvcode>000 ...[CDATA[ 执行成功!/> <Paramet
  • 主要介绍了php生成xml时添加CDATA标签的方法,实例讲述了php操作XML文件的技巧,非常具有实用价值,需要的朋友可以参考下
  • [CDATA[FAIL]]> <return><![CDATA[openid is invalid]]> </xml> 原因是,传有效过去不是的opendid。不小心看错了,把用户id 当做openid传过去了。   当统一下单成功,会返回以下格式的参数 (此图片来源于...
  • [CDATA[FAIL]]> <return><![CDATA[商户号mch_id与appid不匹配]]> </xml> 原因是我拿到的商户号不是这个公众号的。一定要检查是不是这个公众号的商户号。 免责声明:本站所有文章和图片均来自用户分享和...
  • 当时在网上找了一个CDATA的转换器, 修改之后, 将CDATA标签给过滤掉。如下复制代码 代码如下: // States: // // ‘out’ // ‘<‘ // ‘<!’ // ‘<![‘ // ‘<![C’ // ‘<![CD’ /...
  • XML CDATA的作用

    2020-10-29 18:32:36
    当你用FLASH和xml结合做网站应用程序时,例如你做在我研究游戏排行榜中,当让人自由输入姓名时,人们可以输入一些符号,例如∶"<"、">"、"/"、"?"等,当生成XML时,会破坏了XML结构,使数据中断。
  • 使用像paint shop pro 这样的标准绘画程序来编辑您的图标,将它们保存为与MATLAB 兼容的格式(bmp、png、jpeg 等)。 对需要白色的区域使用白色 [RGB(255,... set(gcf,'Pointer','Custom','PointShapeCData',CData);
  • 类型化的cdata 通过PHP类型使用FFI \ CData 安装 composer require sj-i/typed-cdata 要求 PHP 7.4+(NTS / ZTS) 64位Linux x86_64 FFI扩展 执照 麻省理工学院
  • 本文给大家解析使用<![CDATA[ ]]>解决xml文件不被转义的问题, 对mybatis 中的<![CDATA[ ]]>相关知识感兴趣的朋友一起看看吧
  • CDATA是在XML文档里面使用的关键字,用来告诉浏览器,这部分内容不用解析,是给其他程序用的,比如JAVASCRIPT等等。 PCDATA是在 XML约束文档里使用的,如DTD类型的约束文档,在这里面表示元素的内容或属性的取值范围...
  • [CDATA[<h2>.NET 开发]]> <siteurl>//www.jb51.net</siteurl></net>我们可以采用下面的方法修改 CDATA 节点的内容。 C# 代码 代码如下:System.Xml.XmlDocument d = new System.Xml.XmlDocument();d.Load(Server....
  • XML CDATA是什么?

    2020-10-31 04:03:04
    主要为大家介绍下XML CDATA是什么,学习xml的朋友可以参考下
  • 主要介绍了php操作xml入门之cdata区段,分析了CDATA的功能及用法,需要的朋友可以参考下
  • 页里面 CDATA的作用说明
  • local cdata = require " cdata " local packets = {} -- all structs get a type field so we don't lose our minds. function add_struct ( name , fields , map ) local struct = string.format ( " typedef ...
  • javascript生成/解析dom的CDATA类型的字段的代码
  • javascript语句中的CDATA标签的意义
  • CData.rar_cdata

    2022-09-22 17:47:11
    C资料大全,供各位学习C语言时参考之用。如发现有错误请即时与我联系。
  • CDATA 中的内容(有可能是不规范的Html代码)以Html方式展现出来。
  • 尝试使用此问题的解决方案[^],或使用此项目[^]或谷歌搜索其他内容:)
  • 用 c 数据作为颜色绘制二维“线” 制作一个表面对象,颜色由颜色图控制。 例子: x = 0:0.1:2*pi; color_line(x,sin(x),sin(x)) color_line(x,cos(x),cos(x),'*')
  • CDATA

    2019-08-08 03:23:00
    只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。 Parsed Data XML 解析器通常会解析 XML 文档中所有的文本。 当某个 XML 元素被解析时,其标签之间的文本也会被解析: <message>此文本也会...

    所有 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 &lt; 1000 then</message>

    在 XML 中有 5 个预定义的实体引用:

    &lt;<小于
    &gt;>大于
    &amp;&和号
    &apos;'省略号
    &quot;"引号

    注释:严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。

    CDATA

    CDATA 内部的所有东西都会被解析器忽略。

    假如文本中包含了大量的 "<" 和 "&" 字符 - 就像编程代码中经常出现的情况一样 - 那么这个 XML 元素就可以被定义为一个 CDATA 部分。

    CDATA 区段开始于 "<![CDATA[",结束于 "]]>"

    <script>

    <![CDATA[

    function matchwo(a,b)

    {

    if (a < b && a < 0)

    {

    return 1

    }

    else

    {

    return 0

    }

    }

    ]]>

    </script>

    在上面的例子中,在 CDATA 区段中的所有东西都会被解析器忽略。

    关于 CDATA 区段的注释:

    CDATA 区段不能包含字符串 "]]>",所以,CDATA 区段的嵌套是不被允许的。

    同时也需要确保在 "]]>" 字符串中没有空格或折行。

    正象我们前面所说,我们可以把XML文件中除标记以外的所有内容都看作是字符数据,而把标记中的所有内容都看作置标。不过,也有一个例外。在一个特殊的标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待。CDATA的形式如下:
    〈![CDATA[
    文本内容
    ]]〉

    聪明的读者可能已经猜出,CDATA的文本内容中是不能出现字符串“]]〉”的,因为它代表了CDATA数据块的结束标志。

    在前面讲字符数据时,我们谈到过实体引用。可想而知,当你的文本数据中包含大量特殊符号时,你不得不通篇地使用实体引用,把本来很清晰的一段文字搞得乱七八糟。例如在前面的例子中,我们在“示例”元素中放入了一个XML程序。这时,如果没有CDATA,那么麻烦来了。这个元素需要写成下面的样子:

    <示例>
                      &lt;联系人&gt;
                      &lt;姓名&gt;张三&lt;/姓名&gt;
                      &lt;EMAIL&gt;zhang@aaa.com&lt;/EMAIL&gt;
                      &lt;/联系人&gt;
    </示例>

    哇,你要把所有的标记都用实体引用改写,最后写出来的东西连你自己都看不懂了。

    为了避免这种不便,你可以把这些字符数据放在一个CDATA数据块中,这样不管它看上去是一个标记还是一个实体引用,这些数据统统被当作字符照单全收。于是,上面的元素就可以写为这个样子:

    <示例>
                  <![CDATA[
                      <联系人>
                      <姓名>张三</姓名>
                      <EMAIL>zhang@aaa.com</EMAIL>
                      </联系人>
                  ]]>
    </示例>

    清楚多了吧!

     

    转载于:https://www.cnblogs.com/dyc988/archive/2008/07/22/1248456.html

    展开全文
  • 本文档包含了一个完整的实例,可以实现含有CDATA 的字符串转换成xml
  • CDATA:在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待,CDATA的形式:<![CDATA[文本内容]]>CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,572
精华内容 38,628
关键字:

cdata