2010-07-23 8 views
1

У меня есть строка в базе данных, которая содержит угловые скобки (меньше или больше). Мне нужно вставить строку в XElement и затем сериализовать ее на клиентское устройство. Теперь объекты html явно кодируются, поэтому скобки отображаются как < и >, и лучшим способом может быть использование HttpUtility.HtmlDecode для декодирования объектов на клиентском устройстве. Но мне интересно, так или иначе, чтобы избежать кодирования и отправить эти объекты как есть?C Сериализованный сериализатор XML с объектами HTML

ответ

0

Использование SecurityElement.Escape Метод

+0

Это все еще превращает его в & lt; и & gt; (не сохраняет его как < and >) – Shahid

+0

Вам нужно обработать это на клиенте. С < and > xml будет искажено. –

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 строку.