std :: string xml строка для объекта - PullRequest
0 голосов
/ 04 ноября 2010

Каков наиболее эффективный способ взять строку XML типа std :: string и преобразовать ее в объект XML в памяти, структура объекта не имеет значения, что мне нужно, так этонужно пройти через строку char за char и выбрать все части или, если есть какой-то более простой способ?

Ответы [ 5 ]

2 голосов
/ 04 ноября 2010

Возможно, проще всего использовать библиотеку для этого.

Если вы хотите сделать это самостоятельно, вам нужно будет проанализировать строку, содержащую код XML.Есть много способов сделать это;проще всего, вероятно, парсер рекурсивного спуска.

0 голосов
/ 04 ноября 2010

Использовать libxml2 .Не очень сложная библиотека и простой в использовании.Переносим, ​​написан на C, но есть привязки к другим языкам и множество примеров для использования и изучения.

0 голосов
/ 04 ноября 2010

Вы можете использовать MSXML для этого, он возьмет строку и создаст представление DOM (Document Object Model). Документация в порядке, но это не самая простая библиотека для использования. Конечно, только в Windows.

Плюсы - надежные, широко используемые. Минусы - вы должны в определенной степени изучить модель программирования COM. Не самый интуитивно понятный в использовании.

Более простой вариант: xerces . Пример синтаксического анализа файла здесь , есть и другие примеры. Я использовал это и MSXML на разных работах.

0 голосов
/ 04 ноября 2010

Попробуйте Expat, компактный, удобный и бесплатный: http://expat.sourceforge.net/

0 голосов
/ 04 ноября 2010

Взгляните на арабику: http://www.jezuk.co.uk/cgi-bin/view/arabica Из всех библиотек / оболочек XML, которые мне известны, она наиболее дружественна.

...