2012-03-01 2 views
0

Я использую службу WCF Web API для публикации некоторых данных через Json и Xml. Но у меня проблема с html-строкой, чтобы сериализовать ее.Проблема с сериализацией HTML в API WCF для XML и Json

для Xml serialize Я использую XmlMediaTypeFormatter() и для Json serialize У меня есть класс CustomJSONMediaTypeFormatter, который использует библиотеку Newtonsoft.Json.

Я получаю данные с картой Entity из базы данных, и, как и код ниже, я публикую его с помощью веб-сервиса WCF.

[WebGet(UriTemplate = "getLogin")] 
    public IQueryable<LoginTableDTO> Login() 
    { 
     var loginList = ltr.GetList(); 
     List<LoginTableDTO> dtoList = new List<LoginTableDTO>(); 
     foreach (LoginTable item in loginList) 
     { 
      dtoList.Add(LoginTableAssembler.ToDTO(item)); 
     } 
    return dtoList.AsQueryable(); 
} 

но с HTML строки, как

<p><input style="float: right" type="submit" name="name" value="Save Changes" /></p> 

, которые приходят из базы данных, после того, как сериализовать возвращает

&lt;p&gt;&lt;input style="float: right" type="submit" name="name" value="Save Changes" /&gt;&lt;/p&gt; 

для XML и возвращает

\u003cp\u003e\u003cinput style=\"float: right\" type=\"submit\" name=\"name\" value=\"Save Changes\" /\u003e\u003c/p\u003e 

для Json.

Как вы видите, они не читаются человеком.

У меня также есть проблема с объектом datetime. но я нашел решение для преобразования строки, прежде чем делать это на самом деле, я не доволен этим (это еще одна проблема).

Что делать для сериализации HTML-строк, таких как обычные строки (которые не имеют «html-теги») для XML и JSON?

Заранее спасибо ...

ответ

1

Я не 100% уверен, что вы хотите, но если вы хотите:

&lt;p&gt;&lt;input style="float: right" type="submit" name="name" value="Save Changes" /&gt;&lt;/p&gt; 

стать:

<p><input style="float: right" type="submit" name="name" value="Save Changes" /></p> 

использование http://msdn.microsoft.com/en-us/library/7c5fyk1k.aspx. Проблема в том, что вам нужно будет избежать HTML, чтобы сохранить его в XML .... что я думаю, что строка ниже выглядит правильно.

\u003cp\u003e\u003cinput style=\"float: right\" type=\"submit\" name=\"name\" value=\"Save Changes\" /\u003e\u003c/p\u003e 
+0

Нет, я хочу не видеть, что «

<входной тип =„Поплавок: правый“Тип =„отправить“название =„“значение =„Имя Сохранить изменения“/>

» точно такой же формат в XML или вывода Json например «

" – serhads

+0

Невозможно иметь HTML-файл в XML-файле. <, > и «не могут быть использованы в файле XML, но есть и другие. Посмотрите ответ на: http://stackoverflow.com/questions/730133/invalid-characters-in-xml – maka

+0

Спасибо, мака. проверит этот ответ, кстати, у вас есть идея, что это возможно с JSON? – serhads

 Смежные вопросы

  • Нет связанных вопросов^_^