0

当我从 XML CDATA 部分获取 HTML 时,对其进行操作(在我的情况下,对 CDATA 部分中的文本执行 C# 字符串方法),然后显示编辑后的版本......它会自动注释掉我的第一个 HTML 标记:

<![CDATA[ <p>Lorem ipsum dolor sit amet...</p> ]]>

在页面上转换为此:

<!--[CDATA[ <p--> Lorem ipsum dolor sit amet... ]]>

这会破坏第一段的样式并在内容之后呈现结束的 CDATA 标记。

我该如何解决?

编辑: 我找不到任何关于这个的东西,所以我尝试了一些关于便便和咯咯笑的东西,这很有效:

<![CDATA]> <p>Lorem ipsum dolor sit amet...</p> </]]>

在页面上转换为:

<!--[CDATA]--> <p>Lorem ipsum dolor sit amet...</p> <!--]]-->

但是...我不确定这是否会对我的页面产生负面影响?

还有其他方法吗?

4

1 回答 1

0

在包含 CDATA... 的 XML 元素上使用XmlNode.InnerXml时,它会注释掉第一个元素。

使用XmlNode.InnerText和 CDATA 将工作。

如果你必须使用 InnerXml... 你可以省略 CDATA 标签,它也可以工作。

如果您同时需要InnerXml和 CDATA,我没有答案……或者两者一起使用的场景

于 2012-05-23T19:56:07.837 回答