Библиотека синтаксического анализа XML RSI (формат робота KUKA) в boost c ++?

Я анализирую данные XML rsi из Kuka Robot и использую их для взаимодействия робота с контроллером. Мне нужно знать, какой анализатор XML будет использоваться для этого анализа в библиотеке boost c ++?

1

Решение

Ответ: нет, здесь нет синтаксического анализатора XML, не говоря уже о конкретном формате KUKA RSI.

Вы можете использовать RapidXML (который лежит в основе XML-интерфейса Boost Property Tree). Мой личный фаворит для небольших задач такое PugiXML. Вы должны посмотреть совет решения здесь:

0

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

Для дальнейшего использования, если кто-то задаст этот вопрос:

Увеличение

Предполагается, что Boost останется общей библиотекой, и поэтому синтаксический анализ XML — не самая важная его функция. Существует, однако, как предложил PropertyTree с учебником Вот в Boost для общего формата данных древовидной структуры (например, json или XML).

XML

При этом я не рекомендую использовать boost для разбора XML-структур в целом. Вы можете использовать, как снова предложено, несколько небольших библиотек, специально разработанных для эффективного и быстрого синтаксического анализа строк XML, опять же, как было предложено Какой анализатор XML я должен использовать в C ++?.

Интерфейс робота-сенсора KUKA (RSI)

Не пытайтесь заново изобрести колесо. Есть даже библиотеки для разбора XML-структуры RSI. ROS Industrial уже имеет очень хороший интерфейс RSI под названием kuka_experimental пакет доступен Вот а также на сайте ROS. Это не только удовлетворяет вашу потребность в синтаксическом анализе XML, но также и для управления роботом посредством UDP-связи, кинематической модели и т. Д. Если вы не довольны им, вы можете разработать свой собственный после прочтения кода и изучения его работы.

Этот пакет использует TinyXML, легкую библиотеку XML, которая, на мой взгляд, довольно быстрая и простая в использовании. Файлы о том, как выполняется анализ, доступны в kuka_rsi_hw_interface, Вот. Если вас это не устраивает, вы все равно можете использовать другую библиотеку XML или даже обновить этот пакет для работы с TinyXML2 который должен быть еще более эффективным с использованием памяти и быстрее. Если вы используете систему сборки CMake, вы можете легко добавить TinyXML в качестве подмодуля в ваш пакет.

0

Я не знаю формат KUKA RSI, но вы можете читать и записывать данные в формате XML с помощью PropertyLibrary.

Смотри сюда: http://www.boost.org/doc/libs/1_65_1/doc/html/property_tree.html

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