XML boost c++中的RSI(KUKA机器人格式)解析库?

XML RSI(KUKA robot format) parsing library in boost c++?

我已经解析了来自 Kuka Robot 的 XML rsi 数据,并用它来连接 Robot 和 Controller.I 需要知道哪个 XML Parser 用于这个解析提升 C++ 库?

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

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

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

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

  • What XML parser should I use in C++?

如果有人问这个问题,供以后参考:

提升

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

XML

话虽如此,我一般不建议使用 boost 来解析 XML 结构。您可以再次按照建议使用几个专门开发的小型库来高效快速地解析 XML 字符串,再次按照建议 What XML parser should I use in C++?.

库卡机器人传感器接口(RSI)

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

这个包使用了 TinyXML,这是一个轻量级的 XML 库,在我看来它非常快速且易于使用。有关如何进行解析的文件可在 kuka_rsi_hw_interfacehere. If you are not satisfied with this, you can still use another XML library or even upgrade this package to work with TinyXML2 下找到,这在内存使用方面应该更加高效且速度更快。如果您使用 CMake 构建系统,您可以轻松地将 TinyXML 作为子模块添加到您的包中。