C++ Expat and XML parsing

C++ Expat and XML parsing

本文关键字:parsing XML and Expat C++      更新时间:2023-10-16

我刚开始使用expat。我试图弄清楚XML_SetUserData是如何打算做的。在我的例子中,我有一个类a对象的列表,我需要在解析XML流时填充这个列表。

到目前为止,我计划使用一个单例来表示这个单列表。XML_SetUserData是否消除了我的列表是单例的需要?

是的。只要传递给XML_SetUserData一个指针到任何结构或类持有必要的状态,并将其从(void*)转换回你的处理程序。

一个有用的技巧是定义一个带有静态回调成员函数的基类,将expat的调用转发给虚成员函数。在这种情况下,XML_SetUserData提供了一种方便的机制来传递this指针到静态回调。