C#XML序列化,忽略某些节点

时间:2017-10-16 20:52:55

标签: c# xml serialization

目前使用System.Xml.Serialization序列化程序。反序列化包含HTML标记的字符串将导致序列化程序删除标记。避免这种情况的最佳解决方案是什么?

这是XML的样子,

<String name="Computer3" lang="US_EN">
    HELLO <i>FRUITS</i>. I HAVE RELEASED A NEW VIDEO.
</String>

反序列化时<i>标记被删除,因此输出消息看起来像,

HELLO . I HAVE RELEASED A NEW VIDEO.

1 个答案:

答案 0 :(得分:0)

您必须对字符串值进行编码以保留XML中的任何HTML标记。

var encodeString = HttpUtility.HtmlEncode("HELLO <i>FRUITS</i>. I HAVE RELEASED A NEW VIDEO.");

然后,每当您检索该值时,您都必须对其进行解码。

var normalString = HttpUtility.HtmlDecode("HELLO &lt;i&gt;FRUITS&lt;/i&gt;. I HAVE RELEASED A NEW VIDEO.");

来源[1]:https://msdn.microsoft.com/en-us/library/73z22y6h(v=vs.110).aspx