问题标签 [cdata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
18807 浏览

java - 生成 XML 时如何在 CDATA 中保留换行符?

我想写一些包含空格字符的文本,例如newlinetab到一个 xml 文件中,所以我使用

但是当我在使用中读回这个时

我得到一个不再有换行符的字符串。
当我直接查看磁盘上的 xml 时,似乎保留了换行符。所以在读取xml文件时会出现问题。

如何保留换行符?

谢谢!

0 投票
5 回答
48548 浏览

c# - 在 C# 中解码 CDATA 部分

我有一些 XML 如下:

我正在使用它访问它,curXmlNode.SelectSingleNode("description").InnerText但值返回

替p>

有没有一种简单的方法可以从 CDATA 部分获取这种输出?留下实际的 CDATA 标记似乎让它以相同的方式返回。

0 投票
6 回答
15548 浏览

actionscript-3 - E4X 添加 CDATA 内容

基本上我需要使用变量定义节点名称及其 CDATA 内容。

我天真地认为这会起作用:

输出:

在为 FP9 设计的以前版本的脚本中,我使用以下方法绕过了该问题:

但这似乎在 FP10 中不起作用,而且我觉得该方法无论如何都会贬值。

有人对此有一个优雅的解决方案吗?

0 投票
1 回答
14021 浏览

xml - 如何使用 PowerShell 读取 XML 文件中的 CDATA?

我很难读取内部包含 Cdata 的 XML 文件。

在 $xml 源中

电源外壳

$topic.topicDetail 将为 null 而 $topic.topicTitle 不会。有任何想法吗?

0 投票
2 回答
2618 浏览

asp.net - Asp.net XMLwriter CData 转义字符

我使用 ASP.net VB.net 编写一个 XML 文件。

在称为“描述”的元素之一中,我必须添加一个“ <![CData[Class : <b>Class Name</b><br>Price: 100,000.00]]>”。

使用,

但是当我生成 XML 文件时,它给出了

0 投票
11 回答
93076 浏览

xml - XML 中的 HTML。我应该使用 CDATA 还是编码 HTML

我正在使用 XML 来共享 HTML 内容。AFAIK,我可以通过以下方式嵌入 HTML:

  • 对其进行编码:我不知道使用起来是否完全安全。我将不得不再次对其进行解码。

  • 使用 CDATA 部分:我相信,如果内容包含结束标记“]]>”和某些十六进制字符,我仍然可能会遇到问题。另一方面,XML 解析器会为我透明地提取信息。

我应该选择哪个选项?

更新:xml 将在 java 中创建并作为字符串传递给 .net Web 服务,如果它会被解析回来。因此,我需要能够将 xml 导出为字符串并使用“doc.LoadXml(xmlString);”加载它

0 投票
5 回答
15349 浏览

c# - XML 序列化 - XmlCDataSection 作为 Serialization.XmlText

我在使用 c# 序列化 cdata 部分时遇到问题

我需要将 XmlCDataSection 对象属性序列化为元素的内部文本。

我正在寻找的结果是这样的:

为了产生这个,我正在使用这个对象:

在 value 属性上使用 xmltext 注释时,会引发以下错误。

System.InvalidOperationException:反映属性“值”时出现错误。---> System.InvalidOperationException:无法序列化 System.Xml.XmlCDataSection 类型的成员“值”。XmlAttribute/XmlText 不能用于编码复杂类型

如果我注释掉注释,序列化将起作用,但 cdata 部分被放置到一个值元素中,这对我想要做的事情没有好处:

任何人都可以指出我正确的方向来让它发挥作用。

谢谢,亚当

0 投票
3 回答
33732 浏览

sql-server - SQL Server XML output with CDATA

Is there a way to have an SQL Server XML return use CDATA? I have XML being returned by SQL Server like this:

When I am required to have this:

0 投票
3 回答
8979 浏览

xml - 使用 XSLT 转换 XML 并保留 CDATA(在 Ruby 中)

我正在尝试将具有以下内容的文档转换为另一个文档,使 CDATA 与第一个文档中的内容完全相同,但我还没有弄清楚如何使用 XSLT 保留 CDATA。

初始 XML:

最终的 XML:

我尝试过这样的事情,但没有运气,一切都变得混乱:

任何想法如何保存 CDATA?

谢谢!槊

使用红宝石/nokogiri

更新:这是可行的。

这会将所有 text() 节点包装在 CDATA 中,这可以满足我的需要,并且它将在文本中保留 html 标签。

0 投票
3 回答
11855 浏览

c# - HTML的XML序列化

好吧,这个成功了!感谢大家!

结果:

如您所见,在 CDATA 为返回类型后,文件系统上的 XML 文件中不再有转义 html。JSON 序列化不再起作用,但这可以通过一点类型扩展来解决。


问题是:

也许有人知道如何做到这一点......

我有这个类:

我用它来将它序列化为 XML

工作正常我明白了:

我可以做些什么改变才能得到这个:

我已经搜索过了,但我找不到任何东西。htmlValue 的类型必须保持 String,因为其他序列化 JSON 等。

棘手的一个...提前感谢您的建议

  • HTML 在 C# 中的 String 中是正确的。为什么要解码或编码?
  • XmlSerializer 将转义的 HTML 保存为 XML 文件。
  • 不要使用 C# 来消费。

是接受这个的外部工具:

但不是

我对 JSON Serializer 做同样的事情,在硬盘驱动器上的文件中,HTML 保存正确。为什么以及在哪里使用 HTTP 实用程序来防止这种情况?以及如何<![CDATA[ ]]>绕过它。

能给个代码示例吗?除了 C# 自己的序列化器之外,还有其他序列化器吗?

我从 Marco André Silva 找到了这个 Link .NET XML Serialization of CDATA ATTRIBUTE,我需要这样做,但不同的是,如何在不更改类型的情况下包含它?