Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28

Парсинг XML

09.09.2015, 13:28. Показов 3997. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как считать значения id из тега book. C объяснением если можно, а то я только учусь!
Пишу на C++ Builder.

Код:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    <?xml version="1.0" encoding="utf-8"?>
    <pricelist>
 
      <book id="1">
        <title>Книга 1</title>
        <author>Автор 1</author>
        <price>Цена 1</price>
      </book>
 
      <book id="2">
        <title>Книга 2</title>
        <author>Автор 2</author>
        <price>Цена 2</price>
      </book>
 
      <book id="3">
        <title>Книга 3</title>
        <author>Автор 3</author>
        <price>Цена 3</price>
      </book>
 
    </pricelist>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.09.2015, 13:28
Ответы с готовыми решениями:

Парсинг xml
Hallo :) Народ, подскажите пожалуйста. Есть xml файл, с такой вот структурой: &lt;name&gt; &lt;pteg&gt; &lt;name2...

Парсинг xml файла любой вложенности
Здравствуйте! Необходимо распарсить xml документ и прочитать его свойства, построить дерево и на основе прочитанного документа создать...

Копирование определенного узла из одного XML в другой XML
Подскажите пожалуйста как скопировать узел из одного XML в другой XML в C++ Builder 6 &lt;?xml version=&quot;1.0&quot;...

3
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
09.09.2015, 13:54
В билдере есть уже готовые компоненты для работы с xml, насколько помню
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
09.09.2015, 15:54
В принципе работал с библиотекой tinyxml
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
AnsiString GetID(const char * path,vector<int>  IDType)
{
    
    FilePath = path; // remember path
    TiXmlDocument doc(path);
    if (!doc.LoadFile(TIXML_ENCODING_UTF8)) 
    {
            return "File hasn't load!";
    }
    TiXmlHandle handleDoc(&doc);
    TiXmlElement * pElement;
    pElement = handleDoc.FirstChildElement("pricelist").ToElement();
    TiXmlElement *IDType=pElement->FirstChildElement("book");
    if(IDType)
    {
        for (TiXmlElement * iterIDType = IDType; iterIDType; 
            iterIDType = iterIDType>NextSiblingElement("book"))
            {
                IDType.push_back(iterIDType->Attribute("id"));  
            }
    }
    return "";
}
Навскидку, значения считываются в вектор,

Добавлено через 1 час 1 минуту
Можно немного подправить, вместо строк
FilePath = path; // remember path
TiXmlDocument doc(path);
сделать так
TiXmlDocument doc(ExtractFileDir(Application->ExeName));
тогда файл положить в папку с экзешником
да в принципе вообще убрать
return "";

сделав функцию

void GetID()
{
vector<int> IDType
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
11.09.2015, 17:13
Один из лучших хелпов по работе с XML для C++ Builder
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2015, 17:13
Помогаю со студенческими работами здесь

[XML] - Как правильно сохранить XML с уровнями и отступами?
Приветы всем. Подскажите как правильно сохранить файл .xml чтобы сохранились отступы в уровнях и узлах? Есть такой простенький для...

[XML] Как отсортировать данные в XML?
Друзья привет. В ранее созданой теме приводил пример .xml файла. Подскажите если мне нужно отсортировать такой хмл по File или Date,...

Парсинг XML-файла с помощью LINQ to XML
Здрасивуйте. Трабл никак не могу понять в чем дело не могу считать инфу с XML login, getWorkersOUs надо записать в textBox а все c...

Парсинг XML
Решил освоить Android написал первое приложение(программка расшифровывает статус контролера банкомата из БД ошибок в формате SQLite и...

Парсинг XML
Есть один или несколько xml файлов, которые будут иметь примерно вот такую структуру : &lt;?xml version='1.0' ?&gt; &lt;element&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru