2010-07-23 52 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字符串。