在序列化数据成员时是否存在阻止字符转换的C#属性?

时间:2013-12-27 19:17:36

标签: c# serialization

我有一个包含字符串属性的对象,该属性返回包含HTML标记的字符串:

[DataMember]
public string SomeProperty
{
    return "<HTMLTag>";
}

DataContractJsonSerializer.WriteObject()序列化此对象时,'<''>'字符将转换为"&lt;""&gt;"。是否有任何属性(或其他东西)可以防止这种情况发生?我知道WriteRaw会解决这个问题,但我无法改变DataContractJsonSerializer.WriteObject()是我无法控制的。感谢。

2 个答案:

答案 0 :(得分:0)

有一个similar problem considered。提到这一点,您可以将HTML编码为不同的数据,传输然后解码。

答案 1 :(得分:0)

使用

string noEncoding = new XElement("foo", new XCData("a < b")).ToString();

这将产生

<foo><![CDATA[a < b]]></foo>