Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
Задача. Есть древовидный xml, нужно сделать парсер на базе либы типа expat, который из него сделает древовидную структуру. Какие-то аттрибуты отпарсит в числа, какие-то в указатели, где-то посоздает нужные структуры, где-то посоздает массивы, и положит в них отпарсеные данные.... Все это делать в рукопашную как-то скучно. Хотелось бы утилиту, на вход которой поступает файл-описание структуры xml, а на выходе она выдавала бы готовый sax-парсер на сях. Или на плюсах. Есть такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 23:34 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 11:24 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
Sheraton, нет, не оно. tinyxml - это сам парсер, к тому же dom а нужен не парсер, парсером будет expat. Нужа либа для облегчения создания "клиентской" части к expat. Той, которая через каллбэки вызывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 12:01 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
chabapok, А просто использовать SAX-парсер, не ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 12:08 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
chabapokа нужен не парсер, парсером будет expat. Нужа либа для облегчения создания "клиентской" части к expat. Той, которая через каллбэки вызывается.Ну вообще-то, expat тогда и берется если нужна своя уникальная структура хранения данных в памяти. Если нужно стандартное дерево, то libxml2 намного удобнее будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 19:32 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Я просто его и собираюсь использовать. expat - это и есть sax парсер. White OwlНу вообще-то, expat тогда и берется если нужна своя уникальная структура хранения данных в памяти. Ну вот я его поэтому и беру!!! Похоже, никто не понял что хочу. парсинг xml представляет из себя вбрасывание его в expat, а тот в свою очередь дергает когда надо мои каллбеки: xml->expat->user_callbacks Вопрос касается либ облегчающих/автоматизирующих написание user_callbacks секции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 19:50 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
chabapok, я так понимаю, вам нужен биндинг XML->C/C++, ищется в гугле по словам XML C binding. Вот эта ссылка понравилась больше всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 22:50 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
chabapokMasterZiv, Похоже, никто не понял что хочу. парсинг xml представляет из себя вбрасывание его в expat, а тот в свою очередь дергает когда надо мои каллбеки: xml->expat->user_callbacks Вопрос касается либ облегчающих/автоматизирующих написание user_callbacks секции. Действительно, трудно понять, что вы хотите. Даже после ваших разъяснений. Особенно не понятно, зачем вы усложняете по существу банальную задачу. Коллбэки... экспат... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 23:39 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
chabapokЗадача. Есть древовидный xml, нужно сделать парсер на базе либы типа expat, который из него сделает древовидную структуру. Абсолютно не понятно, как это понять - преобразовать xml-файл в древовидную структуру? Что такое древовидная структура? chabapok Какие-то аттрибуты отпарсит в числа, какие-то в указатели, где-то посоздает нужные структуры, где-то посоздает массивы, и положит в них отпарсеные данные.... Все это делать в рукопашную как-то скучно. Имеется в виду, что будет считан xml-файл и все значения будут внесены в необходимые переменные? Как понять делать в рукопашную? Имеется в виду, что есть роботы, которые пишут код вместо программиста? chabapokХотелось бы утилиту, на вход которой поступает файл-описание структуры xml, а на выходе она выдавала бы готовый sax-парсер на сях. Или на плюсах. Есть такое? Что такой файл описание структуры xml? Имеется в виду просто xml-файл? Или к xml-файлу есть еще второй файл в котором описывается этот xml-файл? Как понять на выходе готовый парсер на сях? Т.е. считывается xml-файл и затем на основании его содержания генерируется С++ код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 23:50 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
Да! Датабиндинг мне нужен, продвинутый. Но насколько я понимаю, датабиндинг - это когда тебе в переменные ложатся данные откуда-то. Мне это и нужно, плюс еще надо посоздавать классы через new. Парсер должен понять какие именно класcы создавать - в зависимости от данных в xml. авторОсобенно не понятно, зачем вы усложняете по существу банальную задачу. Коллбэки... экспат... я не хочу использовать DOM или VTD по той причине, что мне нужно юзать экономный по памяти способ, т.к. планируется портирование этого кода на микроконтроллер, и памяти в нем очень мало, соизмеримо с размером самой хml. авторпреобразовать xml-файл в древовидную структуру? Что такое древовидная структура? http://ru.wikipedia.org/wiki/%D0%94%D1%80%D0%B5%D0%B2%D0%BE%D0%B2%D0%B8%D0%B4%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0 Имеется в виду то, что в xml глубина вложенности - около 15..20, а не просто перечисление тегов на одном уровне. Вручную все уровни прорабатывать утомительно. авторИмеется в виду, что будет считан xml-файл и все значения будут внесены в необходимые переменные? Как понять делать в рукопашную? Имеется в виду, что есть роботы, которые пишут код вместо программиста? Да. Считать, там где надо сделать new нужным структурам, настроить все поля, разложить по массивам если это надо и тд и тп. Делать в рукопашную - писать напрямую руками код делающий проверку каждого уровня иеррархии и что на этом уровне надо делать, и соответственно - делать то что нужно. Да, имеется в виду некоторый "робот" создающий и раскладыващий xml по моим структурам. авторЧто такой файл описание структуры xml? Предполагается - некий небольшой файл, написание которого существенно быстрей и проще написания кода парсера напрямую руками. Файл содержит правила что куда класть. Например, аннотированную структру, например как то так (в каментах - на самом деле псевдокод) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Дальше запустил утилиту - она тебе сгенерила парсер, в котором ничего не забывает, все переменные инициализированы или по умолчанию или из xml, массивы настроены, указатели настроены и тд и тп. [SRC c++]Имеется в виду просто xml-файл? Или к xml-файлу есть еще второй файл в котором описывается этот xml-файл? [/quote] Да хоть что-нибудь, что может сократить обьем скучной работы. [SRC c++]Как понять на выходе готовый парсер на сях? Т.е. считывается xml-файл и затем на основании его содержания генерируется С++ код? [/quote] Да, как вариант. Возможно, некий файл-хелпер, подсказывающий как этот код генерить. Но это - лишь вариант. Суть в том что нужно нечно, осущеcтвляющее создание классов и настройку их полей по xml моего формата. Завтра буду гуглить биндинг на С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 04:17 |
|
||
|
Посоветуйте либу-генератор xml-парсера
|
|||
|---|---|---|---|
|
#18+
chabapok, вот здесь список утилит, который на основе XmlSchema генерируют исходный код для разных языков. Есть там несколько для C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 07:41 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=83&tid=2020437]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
3ms |
| others: | 13ms |
| total: | 197ms |

| 0 / 0 |
