2010-07-23 43 views
1

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

回答

0
+0

这仍然变成& lt;和& gt; (不保留为< and >) – Shahid 2010-07-23 12:07:48

+0

您需要在客户端处理此问题。使用< and > xml将会格式不正确。 – 2010-07-23 12:46:09

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字符串。