标签: cdata

如何从CDATA中提取数据

我从XML中提取数据,一些标签以这种方式在CDATA中包含数据

<description><![CDATA[Changes (as compared to 8.17) include:
Features:
    * Added a &#8216;Schema Optimizer&#8217; feature. Based on &#8220;procedure analyse()&#8221; it will propose alterations to data types for a table based on analysis on what data are stored in the table. The feature is available from INFO tab/HTML mode.  Refer to documentation for details.
    * A table can now be added [...]]]>
</description>
Run Code Online (Sandbox Code Playgroud)

我已经在使用preq_match从描述标签中提取数据.那么如何从CDATA中提取数据?

php xml cdata

1
推荐指数
1
解决办法
1547
查看次数

linq到xml CDATA问题

当我使用linq检索xml时,<CDATA[[ ]]>删除了,这是我想要实现的.

但是当我保存文件时,<CDATA[[ ]]>变成 &lt;CDATA[[ ]]&gt;了xml文件.<CDATA[[ ]]>在保存之前我是否明确附加了给我相同的结果.

尝试附加&lt;CDATA[[ ]]&gt;但仍然给我相同的结果.
有没有其他方法可以<CDATA[[ ]]>在xml文件中显示它?

Encoding.UTF8.GetBytes()在保存XDocument使用后用来写文件XDocument.Save(System.IO.StringWriter).

xml linq cdata

1
推荐指数
1
解决办法
2861
查看次数

CDATA应该是URL编码的吗?

显然答案是否定的......对吗?我问的原因是因为我在XML中为Android应用程序定义了这个字符串:

<string name="foo"><![CDATA[<html><body><p>This%20is%20a%20test</p></body></html>]]></string>
Run Code Online (Sandbox Code Playgroud)

我对字符串的所有操作都是读取它,并在HTML视图中显示.我不会期望%20s被解释,但它们是.这是正确的行为,还是Android通常是错误的?

html xml android urlencode cdata

1
推荐指数
1
解决办法
2171
查看次数

使用 document.implementation.createDocument 创建一个新的 HTML 文档

我正在将 html 作为字符串传递。我的目标是从具有所有适当节点的 html 创建一个新文档,以便我可以在我创建的文档上执行诸如调用 doc.getElementsByTagName 之类的操作,并使其按预期工作。我的代码的一个例子是here。

var doc = window.document.implementation.createDocument
    ('http://www.w3.org/1999/xhtml', 'html',  null);
doc.getElementsByTagName('html')[0].innerHTML =
      '<head><script>somejs</script>' +
      '<script>var x = 5; var y = 2; var foo = x + y;</script>' +
      '</head><body></body>';
var scripts = doc.getElementsByTagName('script');
console.log(scripts[0] + " code = " + scripts[0].innerHTML);
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

  1. 如果脚本标记中的某些内容包含像 < 的字符(例如,在上面的示例中,“var foo = x + y;”语句将 + 更改为 < 符号),我会收到 INVALID_STATE_ERR: DOM Exception 11。
  2. 即使脚本标签内没有使用这些字符,当我运行上面的代码时,我也会得到输出“[object Element] code =undefined”

所以我的问题是:

A. 我如何处理诸如 < 之类的字符,当我尝试在将 innerHTML 设置为 B 时使用它们时会出现 DOM 异常 11。如何使文档正确解析脚本标签并将它们的代码放入其 innerHTML …

javascript dom innerhtml cdata

1
推荐指数
1
解决办法
5415
查看次数

如何将 CDATA 添加到 xml 文件?

我有一个现有的 xml 文件,其中包含我想要在网站上显示的通知。片段如下:

<contents>
  <item>
    <![CDATA[
        <a style="font-weight: bold;" href="http://engadget.com">Engadget</a>
    ]]>
  </item>
  <item>
    <![CDATA[
        <a style="font-weight: bold;" href="http://cnn.com">CNN</a>
    ]]>
  </item>
</contents>
Run Code Online (Sandbox Code Playgroud)

我正在尝试打开此文档并向其中添加新的“项目”,但我不能:

        foreach (string s in notifications)
        {
            XmlElement newElement = doc.CreateElement("item");
            newElement.InnerXml = "&lt;![CDATA[ " + s + " ]]>";
            doc.DocumentElement.SelectNodes("/contents")[0].AppendChild(newElement);
        }
Run Code Online (Sandbox Code Playgroud)

通知是我用来存储链接的列表。我收到的错误是:

字符数据中不允许使用“]]>”。

由于我显示通知的方式,通知需要包含 HTML。谢谢你们的观看,伙计们。

html xml cdata xml-parsing

1
推荐指数
1
解决办法
2万
查看次数

NSXMLParser和CDATA

可能重复:
将NSXMLParser与CDATA一起使用

NSXMLParser用来解析服务器上的xml数据.
当用户向另一个用户发送文本消息时,我的服务器正在使用CDATA标签来包装用户文本,因为用户文本可能会破坏xml结构.

我的问题是NSXMLParser知道如何自动处理CDATA吗?它是在NSXMLParser机制中构建的吗?

xml iphone objective-c cdata nsxmlparser

1
推荐指数
1
解决办法
581
查看次数

xml cdata返回XML解析失败:使用xslt编码时语法错误非法字节序列

我搜索了一个答案,却找不到答案.

我有一个由服务器生成的长xml.我想使用xslt显示一些节点.

问题是:当我在浏览器上打开xml时,我得到:XML解析失败,XML解析失败:语法错误,编码中的非法字节序列

错误位于其中一个节点内的cdata内,<![CDATA[并以其结尾]]>

错误是:,和数百个字符一样.

根据我的理解,如果它在cdata中它应该忽略或逃避它,这不应该发生.

xml编码是utf8.

谢谢您的帮助.

xml xslt syntax-error cdata

1
推荐指数
1
解决办法
3634
查看次数

Sublime Text 3 中忽略 CDATA 标签以进行语法高亮显示

我经常使用 Sublime Text 编辑 vQmod 代码。对于那些不知道的人来说,vQmod 是一个动态搜索/替换应用程序,它使用 XML 动态修改 OpenCart 中的核心文件。搜索位置和要添加的代码通常都包含在CDATA标签内。可以理解的是,所有语法突出显示规则都将CDATA标签内的任何内容视为未应用语言规则的纯文本块。但在这种情况下,其中包含的代码可以是 HTML、PHP、JavaScript 或内联 CSS。

有没有办法可以修改语法突出显示规则,以便 CDATA 标记中包含的文本仍将被评估为代码?

这是一个例子:

<operation>
    <search position="after"><![CDATA[public function index()]]></search>
    <add><![CDATA[
        $data['examples'] = $this->model_extension_extension->getExamples();
    ]]>
    </add>
</operation>
Run Code Online (Sandbox Code Playgroud)

代码<search>不太重要,但我希望其中的任何内容都<add><![CDATA[]]></add>识别为 php。有时,这些是非常长的块代码,并且在这里突出显示正确的语法确实会有所帮助。

cdata opencart sublimetext sublimetext3 vqmod

1
推荐指数
1
解决办法
422
查看次数

正则表达式从XHTML文件中删除CDATA包装器

我正在尝试删除以下脚本中的CDATA包装器(内容必须由CDATA包装以传递XHTML验证):

<script id="tplTest" type="text/html">

//<![CDATA[ 
<p id="msg">Hello</p>
<p>Another test: <#= ddd.ArtID #></p> 
//]]>

</script> 
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

var strTmp = document.getElementById("tplTest").innerHTML;
var strNew = strTmp.replace(/[\/(\/!\[)\]CDATA]/g, "").replace(/[(\/\/\]\])]/g, "");
Run Code Online (Sandbox Code Playgroud)

除了开始/结束(<,>)标记之外,它最多删除CDATA标记:

< 
<p id="msg">Hello<p>
<p>nother test: <#= ddd.rtI #><p> 
>
Run Code Online (Sandbox Code Playgroud)

问:我应该如何修改正则表达式来进一步除去这些开头和结尾<,>标签?

javascript regex cdata

0
推荐指数
1
解决办法
1546
查看次数

正则表达式剥离标签,保留CDATA

可能重复:
RegEx匹配除XHTML自包含标记之外的开放标记

大家好,

我知道每个人都喜欢正则表达式的问题,所以这是我的.我有一个XML树,其中一些节点包含CDATA.如何只返回包含数据的字符串?

让我们看一个例子

<xml>
  <node>I'm plain text.</node>
  <node><![CDATA[I'm text in cdata... and may contain html, <strong>yikes!</strong>]]></node>
</xml>
Run Code Online (Sandbox Code Playgroud)

会回来

I'm plain text. I'm text in cdata... and may contain html, yikes!
Run Code Online (Sandbox Code Playgroud)

我读过没有用常规语言解析不规则语言,但我确信这是可行的.你觉得伙计们怎么样?

谢谢,凯文

编辑: 这是一个需要快速而肮脏的解决方案来处理几行XML的问题.我对最初的拒绝感到惊讶,但是从进一步阅读(特别是后来提供的链接)我看到有经验的程序员知道应该尽可能避免的事情.活到老,学到老.谢谢.

regex xml cdata

0
推荐指数
1
解决办法
1462
查看次数

xsl:cds元素在xsl:element中

我想获得以下输出:

<name><![CDATA[ SomeNameHere ]]></name>
Run Code Online (Sandbox Code Playgroud)

使用以下xslt:

  <xsl:element name="name"> 
            <xsl:cdata>
                <xsl:value-of select="name"/> 
            </xsl:cdata>
  </xsl:element>
Run Code Online (Sandbox Code Playgroud)

但是在编译时我得到以下异常:

'xsl:cdata' cannot be a child of the 'xsl:element' element.
Run Code Online (Sandbox Code Playgroud)

如何在xml节点中插入cdata元素呢?

谢谢.

xml xslt cdata

0
推荐指数
1
解决办法
997
查看次数

使用 XML CDATA 的要点是什么?

我正在阅读 XML 文件并遇到了这个<![CDATA[]]>

在什么样的情况下这会有用?

我理解它被用作;

XML 文档中的所有文本都将由解析器解析。

但是 CDATA 部分中的文本将被解析器忽略。

从这里。但是,它并没有详细说明它何时有用和/或其与 xml 文件/等的相关性。

这个 SO 问题询问它是什么意思,但同样,从我能看到的它做什么以及我何时应该使用它来看,没有太多细节- 这就是我现在问这个问题的原因。

(我不完全是专业人士,也不是专家 - 好吧,实际上更像是一个完整的白痴 - 即使阅读文档实际上也没有帮助,所以任何全面的答案都会很棒:P)

xml cdata

0
推荐指数
1
解决办法
7616
查看次数

从javascript读取xml中的cdata

<![CDATA [test]]>我得到了空白.

var dataNode=Ext.DomQuery.selectNode('data',xml);
console.log(dataNode.childNodes[0].nodeValue);
console.log(dataNode.nodeValue);

xml cdata

-3
推荐指数
1
解决办法
1万
查看次数