1

我已经解析了来自 Kuka Robot 的 XML rsi 数据并将其用于将 Robot 与 Controller 连接。我需要知道在 boost c++ 库中用于此解析的 XML 解析器是什么?

4

3 回答 3

0

如果有人问这个问题,供将来参考:

促进

Boost 应该是一个通用库,因此解析 XML 并不是它最重要的特性。然而,正如建议的那样,PropertyTree 在 Boost 中有一个教程用于一般树结构数据格式(例如 json 或 XML)。

XML

话虽如此,我一般不建议使用 boost 来解析 XML 结构。您可以再次使用建议的几个小型库,这些库专门开发用于高效和快速地解析 XML 字符串,再次建议我应该在 C++ 中使用什么 XML 解析器?.

KUKA(RSI)的机器人传感器接口

不要试图重新发明轮子。甚至还有用于解析 RSI 的 XML 结构的库。ROS Industrial 已经在此处ROS 网站上kuka_experimental提供了一个非常好的 RSI 接口,称为包。这不仅满足了你对XML解析的需求,还满足了通过UDP通信、运动学模型等控制机器人的需求。如果你对它不满意,你可以在阅读代码并了解它的工作原理后开发自己的。

这个包使用 TinyXML,这是一个轻量级的 XML 库,在我看来它非常快速且易于使用。有关如何完成解析的文件可在kuka_rsi_hw_interface此处找到。如果您对此不满意,您仍然可以使用另一个 XML 库,甚至升级此包以使用TinyXML2,它应该在内存使用方面更加高效且速度更快。如果您使用 CMake 构建系统,您可以轻松地将 TinyXML 作为子模块添加到您的包中。

于 2019-01-04T06:35:38.007 回答
0

答案是,不,没有 XML 解析器,更不用说特定的 KUKA RSI 格式了。

您可以使用 RapidXML(它是 Boost Property Tree 的 XML 后端的基础)。我个人最喜欢的小任务是 PugiXML。您应该在这里观看决策建议:

于 2017-10-04T11:35:07.510 回答
-1

我不知道 KUKA RSI 格式,但是您可以使用 boost 中的 PropertyLibrary 读取和写入 XML 格式的数据。

看这里: http: //www.boost.org/doc/libs/1_65_1/doc/html/property_tree.html

于 2017-10-04T10:50:48.727 回答