Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2010, 22:28   #1
DeCo
 
Регистрация: 16.03.2010
Сообщений: 4
По умолчанию 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 вне форума Ответить с цитированием
Старый 16.03.2010, 23:40   #2
BOZKURT
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 70
По умолчанию

Код:
            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, 00:55   #3
DeCo
 
Регистрация: 16.03.2010
Сообщений: 4
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML редактирование. BlincAttack Общие вопросы .NET 2 10.12.2009 10:23
парсер XML, не видит XML тэги supercelt PHP 3 02.11.2009 19: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 21:42