powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Xml parser библиотека для C/C++
25 сообщений из 83, страница 3 из 4
Xml parser библиотека для C/C++
    #38984737
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012MasterZivTinyXML традиционно не поддерживал никогда namespaces, уже стал ? Выдержка из TinyXML-2 http://www.grinninglizard.com/tinyxml2/
"... 4. More modern C++, including a proper namespace."

Неймспейсы в XML, а не в C++!
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984745
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012MasterZivTinyXML традиционно не поддерживал никогда namespaces, уже стал ? Выдержка из TinyXML-2 http://www.grinninglizard.com/tinyxml2/
"... 4. More modern C++, including a proper namespace."

Потом, это -- другая библиотека, TinyXML2.
Ну и заявы автора как-то пугают... (No STL requirement, например... Зачем ? И что вместо std::string ?)
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984747
RWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Потому, что разные задачи предъявляют к парсеру противоречивые требования. Допустим, библиотека, разворачивающая документ целиком в DOM, не сможет парсить большие XML из-за исчерпания памяти, SAX-парсер не сможет модифицировать документ, а на эмбеддед-платформах просто недостаточно ресурсов для универсальных парсеров.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984751
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДавайте я озвучу навскидку задачку.
На JavaScript эта задача не сложно решается.
В topic Создании wrappers /interfaces/ над некоторыми libraries из MSDN не ручным кодированием http://www.sql.ru/forum/1140490/sozdanii-wrappers-interfaces-nad-nekotorymi-libraries-iz-msdn-ne-ruchnym-kodirovaniem
Использовал связку JavaScript+PHP для получения *.cpp, *.h и *.idl.
C++ не использовал потому, что сама постановка задачи не требовала высоких требований к скорости ...
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984755
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolfMasterZiv,

Потому, что разные задачи предъявляют к парсеру противоречивые требования. Допустим, библиотека, разворачивающая документ целиком в DOM, не сможет парсить большие XML из-за исчерпания памяти, SAX-парсер не сможет модифицировать документ, а на эмбеддед-платформах просто недостаточно ресурсов для универсальных парсеров.

Каждый парсер обязан поддерживать и DOM, и SAX.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984760
RWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Ну, я вот expat использую — не поддерживает DOM.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984770
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПотом, это -- другая библиотека, TinyXML2
Sorry.
TinyXML2 использую.

MasterZivНу и заявы автора как-то пугают... (No STL requirement, например... Зачем ? И что вместо std::string ?) Автор TinyXML2 считает это даже преимуществом.
Меня это особенно не волнует.
В конце концов ведь я получил от TinyXML2 нужный мне функционал ...
Будет чего не доставать допишу или скорее присмотрюсь к другому проекту.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984776
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolfMasterZiv,

Ну, я вот expat использую — не поддерживает DOM.

Я имел в виду, что я формулирую требования к будущей абстрактной библиотеке, которую я хочу найти.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984849
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivmayton,

Это НЕ XML!
Хм... верно. Дайте подумать. Найду другие данные.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984977
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭто НЕ XML! Оно то так, только mayton то намекал на страницу из сайта http://www.sql.ru/ .
А она с чего начинается?
С
Код: plaintext
1.
2.
3.
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984994
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonMasterZivmayton,

Это НЕ XML!
Хм... верно. Дайте подумать. Найду другие данные.

Кажется, достаточно там убрать <BR> -ы, и всё будет ок.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38984996
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭто НЕ XML!
Да ты прав.
Валидацию в качестве xml страница с http://www.sql.ru/ не проходит.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38985002
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012MasterZivЭто НЕ XML! Оно то так, только mayton то намекал на страницу из сайта http://www.sql.ru/ .
А она с чего начинается?
С
Код: plaintext
1.
2.
3.
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



А это не важно, с чего начинается.
Главное, что оно не XML, а броузеру-то вообще по барабану, как теги закрывать.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38985005
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivВладимир2012пропущено...
Оно то так, только mayton то намекал на страницу из сайта http://www.sql.ru/ .
А она с чего начинается?
С
Код: plaintext
1.
2.
3.
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



А это не важно, с чего начинается.
Главное, что оно не XML, а броузеру-то вообще по барабану, как теги закрывать.

Хотя, может я и неправ.
Надо валидировать по DTD, как это сделать быстро и легко -- я не знаю.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38985014
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv Кажется, достаточно там убрать <BR> -ы, и всё будет ок.
Нужно убрать:
<br/>, <br /> и все блоки комментариев
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38985017
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то вопрос интересный.
Интересно услышать правильный ответ.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38985103
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Интересно услышать правильный ответ.
Получил валидный xml из страницы сайта http://www.sql.ru/, после
следующих замен /в целом по всей странице/:
- "&" на "&"

- "alt="">" на "alt=""/>"
Связано с тем, что "<img ... " не имеет валидного ">"

- " < " на "<"
Если user привел в комментах блок текста на C++

PS: Вообщем то если бы страница сайта удовлетворяла стандарту представления страниц типа xhtml,
то проблем бы вообще ни каких не было.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38985143
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
> wget --spider -S  http://www.sql.ru/ 
...
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Cache-Control: private
  Content-Length: 29488
  Content-Type:  text/html ; charset=windows-1251
Выделено мною.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38985254
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Всё верно. Данный документ не является XML-валидным. Хедер появляется благодаря
забавному стечению обстоятельств или причудой веб-мастеринга (кстати не первой)
последние лет 10. Тот факт что не соблюдаются парность тегов или условия
вложенности похоже верстальщиков не беспокоит. Эдакая себе мимикрия. Браузер
хавает.

Для конверсии таких псевдо-XML ей я использовал HTMLCleaner http://htmlcleaner.sourceforge.net/
когда-то давно.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38986095
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HTML, вообще-то и не разрабатывался как well-formed SGML - в нём масса послаблений, а задачей пользовательского агента является отображение контента, а не его валидация.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38986107
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да но "шапка" у него вполне себе "боярская".
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38986116
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мало ли что написано на заборе?
В паре text/html определяющим является первое слово, а все уточнения после косой черты можно интерпретировать как plain. Имеем полное право, хотя такую реализацию сложно назвать адекватной.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38986357
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот более tru-шный xml. Созданный GPS-навигатором в окрестностях "лысой" горы.

Давайте возьмём его за основу как некое ТЗ и получим хотя-бы последовательность точек
широты и долготы.

50.4329464585,30.4889225028
е.t.c.

Разумеется с использованием табличного С++XML-парсера, и посмотрим на решение с высоты
тык-скыть возможных недостатков о которых мы так бурно говорили.

Автор не прячся. Подключайся к процессу.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creator="eTrex 30" version="1.1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd">
  <metadata>
    <link href="http://www.garmin.com">
      <text>Garmin International</text>
    </link>
    <time>2015-05-11T17:25:38Z</time>
  </metadata>
  <trk>
    <name>Mountain</name>
    <extensions>
      <gpxx:TrackExtension>
        <gpxx:DisplayColorr>Yellow</gpxx:DisplayColor>
      </gpxx:TrackExtension>
    </extensions>
    <trkseg>
      <trkpt lat="50.4329464585" lon="30.4889225028">
        <ele>72.24</ele>
        <time>2015-05-11T10:50:54Z</time>
      </trkpt>
      <trkpt lat="50.4331701715" lon="30.4890732933">
        <ele>72.72</ele>
        <time>2015-05-11T10:51:09Z</time>
      </trkpt>
      <trkpt lat="50.4332992528" lon="30.4893878661">
        <ele>72.72</ele>
        <time>2015-05-11T10:51:24Z</time>
      </trkpt>
...
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38986371
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

документ не валидный, тэги не закрыты
Чтобы не было разногласий, наверно нужно сразу договориться, что далее идут три закрывающих тэга:
Код: xml
1.
2.
3.
    </trkseg>
  </trk>
</gpx>


Оно, конечно, понятно, но копья ломаются и не по таким поводам.
...
Рейтинг: 0 / 0
Xml parser библиотека для C/C++
    #38986373
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvik, я не аттачил весь документ. Он слишком велик для форума.
...
Рейтинг: 0 / 0
25 сообщений из 83, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Xml parser библиотека для C/C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]