cdata 相关问题

CDATA(字面意思是字符数据)是不会在XML和SGML文档中解析为标记的数据。

如何防止 `<![CDATA[` section within an HTML `<script>` 标签导致语法错误?

<![CDATA[ jQuery(".track").hide(); jQuery(document).ready(function() { jQuery(".track").show(); }); ]]></script...</desc> <question vote="0"> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt;&lt;![CDATA[ jQuery(&#34;.track&#34;).hide(); jQuery(document).ready(function() { jQuery(&#34;.track&#34;).show(); }); ]]&gt;&lt;/script&gt; </code></pre> <p>控制台说:</p> <blockquote> <p>未捕获的语法错误:意外的标记 <</p> </blockquote> <p>语法有什么问题?我没看到。 我假设它确实意味着 <pre><code>&lt;script&gt;</code></pre> 标签内的所有内容,因为它以 <pre><code>&lt;</code></pre></p> 开头 <p>不确定如何修复此文件,我认为某些东西/插件正在注入此文件,但我如何找出导致它的原因?</p> <p>有更简单的修复方法吗?</p> <p>谢谢</p> </question> <answer tick="true" vote="1"> <p>如果由于某种原因您坚持使用 CDATA,这将修复错误,但同样不需要它,因为该页面非常 HTML5 </p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; //&lt;![CDATA[ jQuery(&#34;.track&#34;).hide();jQuery(document).ready(function() {jQuery(&#34;.track&#34;).show();}); //]]&gt; &lt;/script&gt; </code></pre> </answer> </body></html>

回答 0 投票 0

如何使用xmlstarlet命令替换xml标签值?

我正在尝试使用 sed 命令更改 XML 中的标签值。我也使用了 xmlstarlet,但由于 CDATA 标记而没有帮助。下面是标签。 但 xmlstarlet 将 < to < and > 更改为...

回答 3 投票 0

如何使用xsl将cdata添加到xml文件

我正在尝试将 CDATA 包装在 xml 文件中的元素。 我错过的另一点是,有一些具有相同名称的元素需要在添加 CDATA 时转义。 这是源 xml...

回答 1 投票 0

文档 createCDATASection 方法与 Saxon 的奇怪行为(Maven Saxon-HE 工件 9.4)

我尝试使用 Saxon 代替 JDK 的默认实现(我猜是 Xalan)来进行 XML 转换和 Xpath。在我的代码中,我使用 document.createCDATASection(data) 方法创建一个 CDATA 节点....

回答 2 投票 0

PHP DOMElement nodeValue 不保留转义(编码)字符

我被赋予了一个不寻常的目标,那就是从具有以下约束的多维数组创建一个不带 CDATA 元素的 XML: 不应使用 CDATA <, >, ', ", & - Th...

回答 1 投票 0

CDA 文档中节和条目之间的关系

我的问题是CDA文档中的条目/临床声明是否可以被父部分识别。我遇到过一种情况,我需要确定哪个条目属于该部分。对于

回答 2 投票 0

如何使用 Jackson 解析 XML 并在 XML 中提取 CDATA

X Y/代号>... <?xml version="1.0" encoding="utf-8"?> <Product> <Object action="create"> <name>X</name> <codename>Y/codename> <external_id>YZ</external_id> <type>product</type> <Content variant="en"><![CDATA[{"elements": [ {"element": {"codename": "short_description_en"},"value": "XYZ"}, {"element": {"codename": "product_Standard"},"value": ""}, {"element": {"codename": "ISO" }, "value": [{"codename": "yes"}]}, {"element": {"codename": "material_type"},"value": [{"codename": "poly"}]}, {"element": {"codename": "product_number" }, "value": "1234"}, {"element": {"codename":"product_status" }, "value":[]} ]}]]></Content> </Object> </Product>""" 我尝试与 Jackson 一起整理 Xml 并提取值,但我无法找到提取 CDATA 字符串的解决方案。你能给我一个解决方案吗? 我尝试与 Jackson 一起整理 Xml 并提取值,但我无法找到提取 CDATA 字符串的解决方案。你能给我一个解决方案吗?

回答 1 投票 0

如何配置 Tinymce 使其不删除 javascript 代码?

在前任开发人员去世后,我继承了一个旧网站。也许很愚蠢,但他们是好人,在我们的社区里做着好事,所以我主动提出提供帮助。 该网站使用旧版本...

回答 1 投票 0

如何在Python中编译jdbc连接的测试?

我尝试使用 py4j 提到的从 Python 连接和测试 JDBC 驱动程序 从 py4j.JavaGateway 导入 java_gateway # 使用 JDBC Jar 打开 JVM 接口 jdbc_jar_path = 'C:\Program Files...

回答 1 投票 0

为什么调用XmlWriter.WriteCData(String)方法时会添加额外的元素?

我需要将包含CDATA部分的其他xml节点的值写入XML节点的CDATA部分(我使用.NET 6) 例如,我需要生成并编写以下 XML: 我需要将包含 CDATA 部分的其他 xml 节点的值写入 XML 节点的 CDATA 部分(我使用 .NET 6) 例如,我需要生成并编写以下XML: <?xml version="1.0" encoding="utf-8"?> <items> <item><![CDATA[<some_node><![CDATA[cdata_value]]></some_node>]]</item> </items> 要生成 XML,我使用以下代码: string str_xml = String.Empty; using (MemoryStream m_stream = new MemoryStream()) { using (XmlWriter xml_writer = XmlWriter.Create(m_stream, new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true, OmitXmlDeclaration = false })) { xml_writer.WriteStartElement("items"); xml_writer.WriteStartElement("item"); xml_writer.WriteCData("<some_node><![CDATA[cdata_value]]></some_node>"); xml_writer.WriteFullEndElement(); xml_writer.WriteEndElement(); xml_writer.Flush(); } m_stream.Position = 0; using (StreamReader stream_reader = new StreamReader(m_stream)) { str_xml = stream_reader.ReadToEnd(); } } 调试器中str_xml变量的值: <?xml version="1.0" encoding="utf-8"?> <items> <item> <![CDATA[<some_node><![CDATA[cdata_value]]]]><![CDATA[></some_node>]]> </item> </items> 为什么项目节点的CDATA部分的值格式不正确? 最好使用 LINQ to XML API。自 2007 年起,它就在 .Net Framework 中可用。 无需增加 CData 部分。只需一个即可完成这项工作。 c# void Main() { string cdata_content = @"<root>My inner XML</root>"; XElement xelem = new XElement("items", new XElement("item", new XCData(cdata_content))); Console.WriteLine(xelem); } 输出 <items> <item><![CDATA[<root>My inner XML</root>]]></item> </items>

回答 1 投票 0

Chromium xmlString -> DOMParser() -> XMLSerializer() 嵌入 CDATA 的往返失败

如果您采用 XML 字符串,其中 CDATA 元素以正确的结构嵌入到 CDATA 元素中。 (其中“]]”的嵌入式 CDATA 结束表示为“]]]]>]]>” 而你...

回答 1 投票 0

如何使用SimpleXmlElement编写CDATA?

我有以下代码来创建和更新 xml 文件: '); $xml->title = '站点标题'; $xml->标题->addAttri...

回答 5 投票 0

如何在 Visual Basic / Code 上的 XML 文档上的 CDATA 内格式化 HTML 标签和 Javascript

我有 XML 文档,其中包含在 CDATA 之间编写的 html 和 javascript 代码。 例如: 我有 XML 文档,其中包含在 CDATA 之间编写的 html 和 javascript 代码。 例如: <element active='yes' type='Html' instance='LOGO'> <body> <![CDATA[ <div class="logos" id="logos"> <img class="float_right" src='mylogo.png' /> </div> ]]> </body> </element> 另一个例子: <element active="yes" type="Html" > <![CDATA[ <script> //Some javascript code </script>]]> </element> 我希望我的 IDE(Visual Studio 或 VSCode)将 CDATA 之间的文本识别为 HTML/Javascript 代码,并格式化代码。你知道有什么解决办法吗?我试图找到一些可以做到这一点的扩展,但找不到任何东西。 我找到了解决方案: 改变 C:\Users\USERNAME\AppData\Local\Programs\Microsoft VS Code 资源 pp xtensions\xml\syntaxes\xml.tmLanguage.json 现在 XML 找不到 我也在 Emmet 配置中进行了类似的更改: C:\Users\USERNAME\AppData\Local\Programs\Microsoft VS Code 资源 pp xtensions mmet\dist 颂歌 mmetNodeMain.js 在“属性”中将此文件设为“只读”,这样下次 VS 更新后就不会出现问题。

回答 1 投票 0

C# XML CDATA 保存文件

有人可以帮助我,我在 XMLDocument 变量中有以下内容: aaa2011202 有人可以帮助我,我在 XMLDocument 变量中有以下内容: <autorizaciones><autorizacion><estado>aaa</estado><numeroAutorizacion>2011202</numeroAutorizacion><fechaAutorizacion>2023-11-20T10:30:14-05:00</fechaAutorizacion><ambiente>prueba</ambiente><comprobante>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;factura id="comprobante" version="1.0.0"&gt; &lt;infoTributaria&gt; &lt;ambiente&gt;2&lt;/ambiente&gt; &lt;tipoEmision&gt;1&lt;/tipoEmision&gt; &lt;razonSocial&gt;EMPRESA&lt;/razonSocial&gt; &lt;nombreComercial&gt;EMPRESA&lt;/nombreComercial&gt; &lt;ruc&gt;99999999999&lt;/ruc&gt; &lt;claveAcceso&gt;2011202&lt;/claveAcceso&gt; &lt;codDoc&gt;01&lt;/codDoc&gt; &lt;estab&gt;001 &lt;/estab&gt; &lt;ptoEmi&gt;002&lt;/ptoEmi&gt; &lt;secuencial&gt;000107272&lt;/secuencial&gt; &lt;dirMatriz&gt;AV 25 DE Y 8 VO CLLJN&lt;/dirMatriz&gt; &lt;/infoTributaria&gt;</comprobante><mensajes /></autorizacion></autorizaciones> 我想保存为以下格式的文件: <autorizaciones><autorizacion><estado>aaa</estado><numeroAutorizacion>2011202</numeroAutorizacion><fechaAutorizacion>2023-11-20T10:30:14-05:00</fechaAutorizacion><ambiente>prueba</ambiente><comprobante><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <factura id="comprobante" version="1.0.0"> <infoTributaria> <ambiente>2</ambiente> <tipoEmision>1</tipoEmision> <razonSocial>EMPRESA</razonSocial> <nombreComercial>EMPRESA</nombreComercial> <ruc>99999999999</ruc> <claveAcceso>2011202</claveAcceso> <codDoc>01</codDoc> <estab>001</estab> <ptoEmi>002</ptoEmi> <secuencial>000107272</secuencial> <dirMatriz>AV 25 DE Y 8 VO CLLJN`your text`</dirMatriz> </infoTributaria></factura>]]></comprobante><mensajes /></autorizacion></autorizaciones> 我使用 XmlDocument docXML.Save(file) 但第一种格式是保留。我该如何解决这个问题? 使用 LINQ to XML。 using System.Xml.Linq; var xml = XElement.Load("test.xml"); var comprobante = xml.Descendants("comprobante").First(); var value = comprobante.Value; var cdata = new XCData(value); comprobante.ReplaceNodes(cdata); xml.Save("test2.xml");

回答 1 投票 0

有没有办法在 VSCODE 中突出显示 XML CDATA 标签内嵌入的 JavaScript?

我很难分析 XML 的 CDATA 标签内的 JS 代码,因为 VSCODE 像注释一样以单一颜色突出显示它。那么有没有办法突出显示 XML CDATA 标签内的 JavaScript 代码...

回答 1 投票 0

测试不支持自定义驱动程序的连接 (Salesforce JDBC)

我在尝试使用存储在 S3 存储桶中的 CData JDBC 试用 JAR 在 AWS Glue 中为 Salesforce 驱动程序设置自定义 JDBC 连接时遇到问题。目标是连接到 Salesforce

回答 1 投票 0

AWS Glue:测试不支持自定义驱动程序的连接 (Salesforce JDBC)

我在尝试使用存储在 S3 存储桶中的 CData JDBC 试用 JAR 在 AWS Glue 中为 Salesforce 驱动程序设置自定义 JDBC 连接时遇到问题。目标是连接到 Salesforce

回答 1 投票 0

将文本与 JSON (CDATA) 中的变量与条件语句组合

我尝试使用 thymeleaf 构建动态 ld+JSON。在此我使用条件语句,这基本上是有效的。但是,不会解析条件语句内的所有变量。 我尝试使用 thymeleaf 构建动态 ld+JSON。在此我使用条件语句,这基本上是有效的。但是,条件语句内的所有变量都不会被解析。 <script type="application/ld+json" > /*<![CDATA[*/ { "@context": "https://schema.org", "@graph": [ { "@type": "Article", "@id": "https://website.de/quack/[[${quack.id}]]/#article", "publisher": { "@id": "[[${article.nickname}]]" }, [( ${article.primaryImage} == null ? '' : '"image": { "@id": "https://website.de/quack/${quack.id}/#primaryimage" }, "thumbnailUrl": "${article.primaryImage}",')] "inLanguage": "[[${quack.language}]]" } ] }; /*]]>*/ </script> 结果: {... "primaryImageOfPage": { "@id": "https://website.de/quack/${quack.id}/#primaryimage" }, "image": { "@id": "https://website.de/quack/${quack.id}/#primaryimage" }, ...} 我错过了什么,将条件语句与语句内的正确解析结合起来? 关键字是字面替换 所以最终对我有用的是使用管道而不是单引号,这可以正确解析所有变量: [( ${article.primaryImage} == null ? '' : |"image": { "@id": "https://website.de/quack/${quack.id}/#primaryimage" }, "thumbnailUrl": "${article.primaryImage}",| )]

回答 1 投票 0

嵌入 CDATA 中的 xslt 样式表的身份转换

输入数据 输入数据 <?xml version="1.0" encoding="UTF-8"?> <root> <PETS> <cats_stylesheet><![CDATA[<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <Cats> <name> <xsl:value-of select="'Felix'"/> </name> <breed> <xsl:value-of select="cat/breed" </breed> <age> <xsl:value-of select="cat/age" </age> </Cats> </xsl:template> </xsl:stylesheet> ]]></cats_stylesheet> <dogs_stylesheet><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <Dogs> <name> <xsl:value-of select="'Rover'"/> </name> <breed> <xsl:value-of select="dog/breed"/> </breed> <age> <xsl:value-of select="dog/age"/> </age> </Dogs> </xsl:template> </xsl:stylesheet> ]]></dogs_stylesheet> </PETS> </root> 所需输出 这应该只是原件的副本,但只更改了狗的名字。 <?xml version="1.0" encoding="UTF-8"?> <root> <PETS> <cats_stylesheet><![CDATA[<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <Cats> <name> <xsl:value-of select="'Felix'"/> </name> <breed> <xsl:value-of select="cat/breed" </breed> <age> <xsl:value-of select="cat/age" </age> </Cats> </xsl:template> </xsl:stylesheet> ]]></cats_stylesheet> <dogs_stylesheet><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <Dogs> <name> <xsl:value-of select="'Cerberus'"/> </name> <breed> <xsl:value-of select="dog/breed"/> </breed> <age> <xsl:value-of select="dog/age"/> </age> </Dogs> </xsl:template> </xsl:stylesheet> ]]></dogs_stylesheet> </PETS> </root> 我尝试过的 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias" version="3.0"> <xsl:output method="xml" encoding="UTF-8" indent="yes" cdata-section-elements="cats_stylesheet dogs_stylesheet" exclude-result-prefixes="xsl"/> <xsl:namespace-alias stylesheet-prefix="axsl" result-prefix="xsl"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="dogs_stylesheet"> <xsl:variable name="contents_of_cdata"> <xsl:value-of disable-output-escaping="true" select="text()"/> </xsl:variable> <dogs_stylesheet> <Dogs> <name> <xsl:value-of select="'Cerberus'"/> </name> <xsl:copy-of select="$contents_of_cdata/xsl:stylesheet/xsl:template/Dogs/node()[not(self::Dogs/name)]"/> </Dogs> </dogs_stylesheet> </xsl:template> </xsl:stylesheet> 我尝试将 CDATA 文本转换为“节点集”(使用旧的 xsltl 1.0 术语),但这不起作用。 它没有将 dogs_stylesheet 放入 CDATA 标记中 它正在插入名称空间 dogs_stylesheet CDATA 文本未转换为“节点集” 如何才能达到想要的输出?

回答 0 投票 0

这是什么类型的代码。如何加密这个[关闭]

//<![CDATA[ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while...</desc> <question vote="-3"> <div> </div> <pre><code>&lt;script&gt; //&lt;![CDATA[ eval(function(p,a,c,k,e,d){e=function(c){return(c&lt;a?&#39;&#39;:e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!&#39;&#39;.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return&#39;\\w+&#39;};c=1};while(c--){if(k[c]){p=p.replace(new RegExp(&#39;\\b&#39;+e(c)+&#39;\\b&#39;,&#39;g&#39;),k[c])}}return p}(&#39;D e=[&#34;\\z\\r\\m\\I\\C\\o&#34;,&#34;\\r\\m\\h\\s\\o\\h\\p\\A\\h\\y\\h\\w\\o&#34;,&#34;\\a\\a\\b\\F\\a\\a\\c\\j\\a\\a\\c\\j\\a\\a\\c\\a\\a\\a\\c\\i\\a\\a\\i\\H\\a\\a\\d\\f\\a\\a\\d\\f\\a\\a\\b\\i\\a\\a\\b\\j\\a\\a\\b\\p\\a\\a\\d\\p\\a\\a\\c\\i\\a\\a\\c\\j\\a\\a\\b\\G\\a\\a\\c\\j\\a\\a\\b\\q\\a\\a\\b\\i\\a\\a\\b\\G\\a\\a\\b\\n\\a\\a\\b\\n\\a\\a\\c\\q\\a\\a\\d\\p\\a\\a\\b\\q\\a\\a\\b\\f\\a\\a\\d\\f\\a\\a\\b\\c\\a\\a\\b\\F\\a\\a\\d\\f\\a\\a\\b\\q\\a\\a\\b\\c\\a\\a\\b\\p\\a\\a\\b\\q\\a\\a\\b\\u\\a\\a\\b\\n\\a\\a\\d\\f\\a\\a\\b\\d\\a\\a\\b\\n\\a\\a\\b\\f\\a\\a\\b\\c\\a\\a\\b\\c\\a\\a\\b\\u\\a\\a\\c\\d\\a\\a\\d\\f\\a\\a\\b\\L\\a\\a\\b\\G\\a\\a\\c\\i\\a\\a\\c\\j\\a\\a\\b\\u\\a\\a\\c\\d\\a\\a\\d\\f\\a\\a\\c\\j\\a\\a\\b\\u\\a\\a\\c\\F\\a\\a\\c\\j\\a\\a\\c\\d\\a\\a\\b\\q\\a\\a\\b\\L\\a\\a\\d\\f\\a\\a\\c\\b\\a\\a\\i\\i\\a\\a\\d\\p\\a\\a\\b\\H\\a\\a\\c\\i&#34;,&#34;\\s\\z\\M\\w\\r&#34;,&#34;\\o\\m\\O\\h&#34;,&#34;\\z\\m\\r&#34;,&#34;\\y\\s\\o\\r\\v&#34;,&#34;&#34;,&#34;\\A\\h\\w\\Z\\o\\v&#34;,&#34;\\U\\m\\t\\y\\n\\v\\s\\m\\n\\t\\x\\h&#34;,&#34;\\s\\C\\C\\h\\w\\x\\n\\v\\I\\A\\x&#34;,&#34;\\X\\t\\x\\M&#34;,&#34;\\m\\h\\y\\t\\Y\\h&#34;];!J(){D l=K[e[1]](e[0]),k=e[2];l[e[3]]=e[4];l[e[5]]=J(l){D k,B=l[e[6]](/.{1,4}/g)||[],E=e[7];V(k=0;k&lt;B[e[8]];k++){E+=P[e[9]](N(B[k],S))};Q E}(k),K[e[R]][e[T]](l),l[e[W]]()}()&#39;,62,62,&#39;||||||||||x30|x36|x37|x32|_0x7c9f|x46||x65|x33|x34|_0x1902x2|_0x1902x1|x72|x43|x74|x45|x39|x63|x61|x6F|x35|x68|x6E|x64|x6D|x73|x6C|_0x1902x3|x70|var|_0x1902x4|x38|x31|x41|x69|function|document|x44|x79|parseInt|x75|String|return|11|16|10|x66|for|12|x62|x76|x67&#39;.split(&#39;|&#39;),0,{})); function name() { // Put all of your scripts here //---- DELETE me and REPLACE with your code ----// } //]]&gt; &lt;/script&gt; </code></pre> <p>当 ui 跟随博客主题的 XML 文件时,我发现了这样的代码。我发现在这段代码中它正在调用 jquery 脚本。我如何加密这个</p> <p>当我使用 Chrome 网络速度工具测试我的博客时,我发现一个未使用的 jQuery 代码从我的主题中的某处调用。当我删除这个解密代码时,问题得到解决,但我的网站功能被遗漏了 我尝试了很多加密器,但找不到解决方案。当我删除此代码时,它会禁用很多网站功能</p> </question> </body></html>

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.