1

我在数据库中有一个字符串,其中包含尖括号(小于/大于)。我需要将字符串插入 XElement,然后将其序列化到客户端设备。现在 html 实体显然已被编码,因此括号显示为 < 和 >,最好的方法可能是使用 HttpUtility.HtmlDecode 将实体解码回客户端设备上。但是我想知道是否有任何方法可以逃避编码并让这些实体按原样发送?

4

2 回答 2

0

使用SecurityElement.Escape方法

于 2010-07-23T12:00:57.340 回答
0

如果您设置 XElement.Value 属性,是的,它将在序列化时进行编码。但是当您在客户端对其进行反序列化并访问 XElement.Value 属性时,它将是未编码的。请参阅此快速示例:

var htmlData = "<some data>";
XElement element = new XElement("data");
element.Value = htmlData;

var xml = element.ToString();
var data = element.Value;
if (data != htmlData)
    throw new NotImplementedException("this didn't work");

如果设置断点,您将看到变量“xml”确实包含编码的 html 字符串。

于 2010-07-23T12:22:00.210 回答