C# 保持独立>;及<;当内容也有HTML标记时,要在XML中加载的符号

C# 保持独立>;及<;当内容也有HTML标记时,要在XML中加载的符号,c#,xml,C#,Xml,我们有一个编辑器,用户可以在其中设置HTML格式。加载内容时,我们需要在XML中包含这些独立的符号。我可以用前面描述的字符实体引用替换,但这也会在HTML标记中包含这些字符。有人能提供相同的方向吗?我正在使用C#作为语言 您需要使用CDATA区域 <XMLtag><![CDATA[<html>in here <img src="unclosed tag"> </html>]]</XMLtag> 在这里]] 太好了![CDAT

我们有一个编辑器,用户可以在其中设置HTML格式。加载内容时,我们需要在XML中包含这些独立的符号。我可以用前面描述的字符实体引用替换<和>,但这也会在HTML标记中包含这些字符。有人能提供相同的方向吗?我正在使用C#作为语言

您需要使用CDATA区域

 <XMLtag><![CDATA[<html>in here <img src="unclosed tag"> </html>]]</XMLtag>
在这里]]
太好了![CDATA[您不希望解析的内容]]

更新:

如果您的HTML是正确的XML(所有标记都已关闭,等等),那么不要担心它,只需将其包含在XML文档中即可


如果它不是正确的XML,那么就不能在遍历XML时对节点进行迭代——您需要将HTML提取为一个长文本块(见上文),将其加载到一个支持HTML的解析器中,然后对其进行迭代。可以处理通过不纯Html的迭代。

如果编辑器为您处理转义实体引用,将非常方便。在ASP.NET世界中,我使用的是,它可以很好地处理转义实体引用,而且无论您是处理web表单还是其他.NET技术,您都会发现许多其他编辑器也会这样做


至于XML中的HTML存储,我发现在CDATA区域中填充HTML内容更容易,只是为了避免编码/解码内容的麻烦。

谢谢James,但我确实希望遍历节点。