Как преобразовать строку C в XML с использованием стандартного C ++? - PullRequest
0 голосов
/ 16 сентября 2011

Я хотел бы знать, есть ли способ генерировать XML-схему из строки AC с помощью Stander C ++?В моем текущем приложении есть сервер, который посылает через запятую строку через сокет.Это громоздко для разбора даты.Я хотел бы расширить это, чтобы преобразовать эту строку в стандартный формат XML.Чтобы я мог легко разобрать данные со стороны клиента.

c строка: - Температура, низкая: 20, высокая: 30, текущая: 24

xml: -

<temperature>
  <low>20</low>
  <high>30</high>
  <current>24</current>
</temperature>    

Пожалуйста, укажитессылка или пример, чтобы учиться больше.Спасибо!

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

C ++ не имеет синтаксического анализатора XML как части стандартной библиотеки. Для этого вам нужна сторонняя библиотека. MSXML и Xerces - два, которые я использовал. Хотя Xerces немного сложнее в настройке, я должен сказать, что он намного приятнее.

0 голосов
/ 16 сентября 2011

Обычно у вас есть два отдельных шага:

  1. Анализ строки и получение необходимой информации из нее
  2. Запись XML

ДляШаг 1. Я бы предложил использовать некоторую библиотеку регулярных выражений, например, Boost.Regex .

Как только вы проанализируете информацию, вы можете просто записать XML в строку, используя стандартные потокикак

std::stringstream s;
s << "<temperature><low>" << low << "</low><high>" << high << "</high>";
s << "<current>" << current << "</current>";
s << "</temperature>";

и использовать полученную строку с s.str().

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