1

我是使用外籍人士的新手。我试图弄清楚 XML_SetUserData 打算如何做。在我的例子中,我有一个 A 类对象的列表,我需要在解析 XML 流时填充这个列表。

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

4

1 回答 1

2

是的,它确实。只需将XML_SetUserData指针传递给任何具有必要状态的结构或类,然后从处理程序内部的 (void*) 将其转换回。

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

于 2011-08-30T01:17:54.770 回答