目前使用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.
答案 0 :(得分:0)
您必须对字符串值进行编码以保留XML中的任何HTML标记。
var encodeString = HttpUtility.HtmlEncode("HELLO <i>FRUITS</i>. I HAVE RELEASED A NEW VIDEO.");
然后,每当您检索该值时,您都必须对其进行解码。
var normalString = HttpUtility.HtmlDecode("HELLO <i>FRUITS</i>. I HAVE RELEASED A NEW VIDEO.");
来源[1]:https://msdn.microsoft.com/en-us/library/73z22y6h(v=vs.110).aspx