在 XML CDATA 中读取和操作 HTML

本文关键字:操作 HTML 读取 XML CDATA | 更新日期: 2023-09-27 18:34:54

当我从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> <!--]]-->

然而。。。我不确定这是否会对我的页面产生负面影响?

还有别的办法吗?

在 XML CDATA 中读取和操作 HTML

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

使用XmlNode.InnerText,CDATA 将起作用。

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

如果你同时需要InnerXml和CDATA,我没有答案...或将两者一起使用的方案