получение данных XML из Xerces (c ++) - PullRequest
1 голос
/ 23 апреля 2009

Я опоздал на XML - должен проанализировать XML-файл. Наша компания уже использует xerces, поэтому мне удалось собрать пример приложения (SAX), которое отображает все данные в файле. Однако после завершения синтаксического анализа я ожидал, что смогу вызвать синтаксический анализатор или какой-либо другой объект, который имел внутреннее представление файла, и выполнить итерации по полям / данным.

По сути, я хочу иметь возможность передать ему какой-нибудь ключ или другую строку (и) и получить обратно строки или коллекции пар ключ / значение. Я не вижу этого. Мне кажется довольно очевидным, что это хорошая вещь. Я что-то пропустил?

DOM разбирает то, что я хочу, или это тоже не хватает?

Ответы [ 3 ]

5 голосов
/ 23 апреля 2009

Xerces обеспечивает обработку SAX и DOM. Синтаксический анализ SAX не создает модель, поэтому, когда синтаксический анализ завершен, анализировать или перебирать нечего. Обработка DOM создает древовидную модель, которая дает вам то, что вы хотите.

2 голосов
/ 27 июля 2011

Если вы используете XercesDOMParser, по-прежнему нет способа запросить определенную пару значений ключа после анализа документа. Недавно я столкнулся с той же проблемой, и, перебирая дерево DOM, я сохранил все пары ключ-значение в карте STL. Затем вы можете запросить пары ключ-значение с карты позже в программе.

2 голосов
/ 06 октября 2009

Проверьте образец для начинающих на этой странице Учебник по YoLinux по синтаксическому анализу XML

...