当我从XML CDATA部分抓取HTML时,操纵它(在我的例子中,在CDATA部分的文本上执行C#字符串方法),然后显示编辑的版本...它会自动注释掉我的第一个HTML标记:
<![CDATA[ <p>Lorem ipsum dolor sit amet...</p> ]]>
在页面上转换为:
<!--[CDATA[ <p--> Lorem ipsum dolor sit amet... ]]>
打破第一段的样式并在内容后面呈现结束CDATA标记。</ p>
我该如何解决这个问题?
修改 我找不到任何关于此的内容,所以我尝试了一些针对poos和giggles的东西,这很有效:
<![CDATA]> <p>Lorem ipsum dolor sit amet...</p> </]]>
在页面上转换为此内容:
<!--[CDATA]--> <p>Lorem ipsum dolor sit amet...</p> <!--]]-->
然而......我不确定这是否会以负面方式影响我的页面?
还有其他办法吗?
答案 0 :(得分:0)
在包含CDATA的XML元素上使用XmlNode.InnerXml
时,它会注释掉第一个元素。
使用XmlNode.InnerText
,CDATA即可使用。
如果您必须使用InnerXml ...您可以省略CDATA标签,它也可以使用。
如果您需要 InnerXml和CDATA,我没有答案......或两者将一起使用的情况