Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение XML-документа 
:(
    Опции темы
DCamer
Дата 25.11.2010, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Как сделать чтение XML-документа, а именно опций узлов:
Код

<rootnode>
    <subnode option="test">
        <subsubnode option1="test1" option2="subtest" option3="1" option4="1" option5="1"/>
        <subsubnode option1="test3" option2="subtest"/>
    </subnode>
</rootnode>

Про встроенную компоненту TXMLDocument в курсе, но не знаю как с компонентой работать.

Это сообщение отредактировал(а) DCamer - 25.11.2010, 16:46
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
bsa
Дата 25.11.2010, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



гугл знает и готов поделиться!
PM   Вверх
DCamer
Дата 25.11.2010, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В пресловутом гугле решений под C++Builder практически нет, а если и есть, то не то, что нужно.
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
bsa
Дата 25.11.2010, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



PM   Вверх
DCamer
Дата 25.11.2010, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня выдаёт последний код, что какая-то ошибка на строке 1, видимо речь о XML-файле:
Код

First chance exception at $7C812AFB. Exception class EDOMParseError with message
'Системная ошибка: -2146697210.

Line: 0
'.
Process smee.exe (416)



--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
DCamer
Дата 25.11.2010, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот что собственно надо:
user posted image
Да, кстати в XML-файле нету этого:
Код

<?xml version="1.0" encoding="iso-8859-1" ?>


Это сообщение отредактировал(а) DCamer - 25.11.2010, 18:50
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
bsa
Дата 25.11.2010, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



А если добавить эту строку, будет исключение?
Кстати, обрати внимание, что по приведенной ссылке работа с TXMLDocument была внутри блока try{}catch, думаю, неспроста.
PM   Вверх
DCamer
Дата 25.11.2010, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Эта ошибка - нет, но появляется новая ошибка:
Код

Warning: Invalid pointer operation

--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
bsa
Дата 27.11.2010, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



DCamer, и в каком месте появляется? Пройдись отладчиком! Тут телепатов нет.
PM   Вверх
DonPager
Дата 7.12.2010, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


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

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



DCamer, ... и укажи версию билдера (в ХЕ немножко поменялся код для хмл)



--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
DCamer
Дата 10.1.2011, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



DonPager, версия билдера у меня в подписи. smile 
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
DCamer
Дата 10.1.2011, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



bsa, отладчик при Break ссылается на System.pas:
Код

procedure TObject.FreeInstance;
begin
  CleanupInstance;
  _FreeMem(Self);        // курсор переходит на эту строку
end;

--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
Isko
Дата 10.1.2011, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Могу скинуть кусок проги где у меня происходит чтение узлов и значенийю
Правда у меня не опции а всего лишь одно значение для каждого узла.
PM MAIL   Вверх
DCamer
Дата 10.1.2011, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Isko, скинь коль не жалко. smile 
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
DCamer
Дата 10.1.2011, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем спасибо, все свободны.  smile 
Код

      AnsiString value,nm;
    int n;
    _di_IXMLDocument XMLDocument = NewXMLDocument();
    try {
        XMLDocument->XML->Text="<SurfaceTypes><SurfaceType name=\"mat_oil_drops\"></SurfaceType></SurfaceTypes>";
        XMLDocument->Active=true;
        XMLDocument->Encoding="UTF-16";
        XMLDocument->Options=XMLDocument->Options << doNodeAutoIndent;
        IXMLNode *nodRoot= XMLDocument->DocumentElement;
        IXMLNode *nodElement;
        n=nodRoot->ChildNodes->Count;
        for (int i = 0; i < n; i++) {
            nodElement = nodRoot->ChildNodes->Nodes[i];
            value= nodElement->GetAttribute("name");
            nm = nodElement->GetNodeName();
            Edit3->Text = value;
        }
    }
    __finally { delete XMLDocument;}


Это сообщение отредактировал(а) DCamer - 11.1.2011, 00:42
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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