Как создать объект из анализа данных FIX XML в C ++?

XML ниже представляет сообщение FIX. Это сообщение имеет переменное количество полей (пронумерованных с использованием тега id), каждое из которых содержит различные атрибуты. Поэтому я хотел бы проанализировать этот XML и с моими дополнительными возможностями кодирования вывести объект сообщения C ++, который включает всю информацию об атрибутах для каждого поля.

введите описание изображения здесь

Первый вопрос: есть ли библиотека повышения, которую я могу использовать для этого? Мой второй вопрос — каков интерфейс между тем, что может обеспечить синтаксический анализатор XML, и где мне нужно написать код для создания объектов. Так, например, в XML в строке 8 есть <delta/> тег и это атрибут объекта. Таким образом, для поля 52 (строка 8) атрибутом будет объект подтипа Delta, а для строки 9 атрибутом будет объект подтипа Copy. Я хотел бы хранить эти подтипы в std::unordered_map с идентификатором поля, являющегося ключом.

Я предполагаю другой способ сформулировать это: какой «конечный результат» даст мне синтаксический анализатор XML, чтобы помочь построить объекты так, как я хочу?

0

Решение

Вы, вероятно, должны использовать один из многих широко используемых парсеров xml, Xerces и TinyXML — две возможности. Есть еще. Google твой друг.

Вы хотите работать в режиме SAX, а не в режиме DOM (будет объяснена документация для выбранного вами парсера). Это означает, что парсер будет вызывать код, который вы предоставляете для каждого элемента, и атрибутировать его, а не строить произвольную структуру в памяти, которая не соответствует вашим специфическим для вашего домена потребностям.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]