Какой контейнер является лучшим для управления данными XML? - PullRequest
0 голосов
/ 19 марта 2012

Представьте, что у меня есть данные XML:

<tag> value</tag> etc ....
<othertag> value  value2 value_n </othertag> 
etc ....

Какой контейнер лучше всего подходит для управления этой информацией? Простой вектор, список, другое?

Я собираюсь делать простые вставки, поиск, удаление.
Конечно, код будет «грубым».

Я знаю, что будут специальные утилиты для XML, но я бы хотел узнать ваше мнение.

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

«Лучшим контейнером» для управления XML обычно является дерево DOM, поскольку оно может хранить всю информацию, хранящуюся в источнике XML, и представлять ее в удобном для кода виде;тем не менее, в зависимости от того, что вы хотите сделать с этими данными, это может быть излишним.

С другой стороны, поскольку то, что вы хотите сделать, - это на самом деле общие манипуляции с деревом XML, я думаю, что это может быть вашимлучший вариант;возьмите хороший XML-парсер, создающий дерево DOM, и используйте его.

Личное замечание: пожалуйста , не изобретайте квадратное колесо XML еще раз - вокруг достаточно разбитых парсеров XML, нам не нужен еще один.Используйте хорошо известный, соответствующий стандарту синтаксический анализатор XML (например, Xerces-C ++ ), который создает ваше дерево DOM, и будьте счастливы с ним.

1 голос
/ 19 марта 2012

Ну, это сильно зависит от ваших данных XML. У вас есть список объектов без специальных идентификаторов? Или вы хотите иметь возможность быстро идентифицировать объект в вашем списке (то есть иметь сопоставление?).

Вы всегда можете использовать http://linuxsoftware.co.nz/cppcontainers.html для принятия решения. Блок-схема внизу страницы особенно полезна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...