Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.03.2010, 23:28   #1
DeCo
 
Регистрация: 16.03.2010
Сообщений: 4
Репутация: 10
По умолчанию C# и Xml десериализация

Уважаемые эксперты, прошу вашей помощи!
Имею xml файл со следующим кодом:
Код HTML:
<?xml version="1.0" ?>
<item>
 <content type="xhtml">
  <div>
   <p><i>My text</i></p>
  </div>
 </content>
</item>
Для десериализации имею следующий класс:
Код:

public class ContentClass
{
 [XmlTextAttribute()]
 public string Content {get;set;}
 [XmlAttribute("type")]
 public string type{get;set;}
}
public class item
{
 [XmlElement("content")]
 public ContentClass Content {get;set;}
}

Необходимо десериализовать этот xml файл в мой класс, но таким образом, чтобы весь xhtml код(<div><p><i>My text</i></p></div>), содержащийся в элементе <content>, был сохранен в свойство Content класса ContentClass в виде обычной строки.
Заранее спасибо за помощь и внимание!
DeCo вне форума   Ответить с цитированием
Старый 17.03.2010, 00:40   #2
BOZKURT
Форумчанин
 
Регистрация: 14.10.2009
Адрес: Казахстан, Алматы
Сообщений: 70
Репутация: 33
По умолчанию

Код:

            ContentClass cc1 = new ContentClass();
            cc1.Content = "<div><p><i>My text</i></p></div>";
            cc1.type = "xhtml";

            //Сериализация
            XmlSerializer s1 = new XmlSerializer(typeof(ContentClass));
            TextWriter w = new StreamWriter(@"c:\xhtmlContent.xml");
            s1.Serialize(w, cc1);
            w.Flush();
            w.Close();

            //Десериализация
            ContentClass cc2;
            XmlSerializer s2 = new XmlSerializer(typeof(ContentClass));
            TextReader r = new StreamReader(@"c:\xhtmlContent.xml");
            cc2 = (ContentClass)s2.Deserialize(r);
            r.Close();

BOZKURT вне форума   Ответить с цитированием
Старый 17.03.2010, 01:55   #3
DeCo
 
Регистрация: 16.03.2010
Сообщений: 4
Репутация: 10
По умолчанию

Спасибо за ответ! Но дело в том, что сериализовать объект мне не нужно, т.к. xml файл уже существует и имеет описанную мной структуру. В указанном Вами коде при сериализации экранируются все символы разметки, поэтому при десериализации код без проблем сохраняется в свойство Content как строка. Но дело в том, что мне необходимо получить этот xhtml код в виде строки уже из готового xml файла, т.е. там где он не экранирован.
DeCo вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML редактирование. BlincAttack Общие вопросы .NET 2 10.12.2009 11:23
парсер XML, не видит XML тэги supercelt PHP 3 02.11.2009 20:18
XML Sergey2 Общие вопросы Delphi 7 20.04.2009 12:36
сериализация и десериализация radiantor Работа с сетью в Delphi 7 02.08.2008 00:27
БД и XML MPa БД в Delphi 4 02.02.2008 22:42


15:47.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru