Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись в XML файл, символы >, < 
:(
    Опции темы
Aline
Дата 22.6.2009, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Добрый день! Мне в секцию в xml файле надо записать знаки ">" или "<". Нашла в Инете, что эти знаки в xml кодируются как &gt и &lt соттветственно. Когда заношу в файл вручную, всё работает нормально, т.е. при открытии файла и разборе его сразу получаю необходимые знаки. Но когда записываю программно в файл:

Код

 for (int j = 0; j < Param[i].Cond.Length; j++) {
        Node1 = Node->AddChild("Condition");

        Node2 = Node1->AddChild("Operation");

        if (Param[i].Cond[j].operation == ">") {
          s = "&gt";
        }
        else if (Param[i].Cond[j].operation == "<") {
          s = "&lt";
         }

        Node2->SetNodeValue(s);
}


то получается:

<Operation>&amp;gt</Operation>

и соответственно знака при разборе файла я не получаю. Кто с этим сталкивался? Как это решить?

Это сообщение отредактировал(а) Aline - 22.6.2009, 08:50
PM MAIL   Вверх
azesmcar
Дата 22.6.2009, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 6
Всего: 211



Aline

&amp - это замена символа &. Я так думаю, класс которым вы пишите XML сам заменяет их. Что за класс? Кто такой Node1? Попробуйте писать просто < и > вместо &lt и &gt.
PM   Вверх
Aline
Дата 22.6.2009, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Я поняла, что &amp - это автоматическая замена происходит в файле, просто знаки больше/меньше я думаю также вызовут ошибки. Видимо придется изобретать свою кодировку и соответственно ей разбирать файл.
Использую _di_IXMLDocument и _di_IXMLNode, соответственно:

_di_IXMLNode  Node1;
PM MAIL   Вверх
azesmcar
Дата 22.6.2009, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 6
Всего: 211



Цитата(Aline @  22.6.2009,  09:00 Найти цитируемый пост)
просто знаки больше/меньше я думаю также вызовут ошибки

Думать не надо. Надо либо проверить, либо почитать документацию. smile 

Это сообщение отредактировал(а) azesmcar - 22.6.2009, 09:02
PM   Вверх
Aline
Дата 22.6.2009, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Но водь когда вручную просто записываешь знаки больше или меньше, то возникает ошибка в файле. А в Инете написано про кодировки, что это специальные символы. Так что уже читала...
PM MAIL   Вверх
azesmcar
Дата 22.6.2009, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 6
Всего: 211



Aline

Я имел ввиду что возможно ваши классы di_IXMLDocument и _di_IXMLNode уже реализуют эту замену. Т.е. пишите прост < и > они заменят на то что надо. Сложно проверить?

Добавлено через 1 минуту и 12 секунд
тут есть примеры работы с этим классом. Может пригодится.
http://www.functionx.com/cppbuilder/xml/Lesson03.htm
PM   Вверх
Aline
Дата 22.6.2009, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Нет, не сложно. Я просто не совсем поняла, что имелось ввиду. Проверила, действительно всё работает автоматически. Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.