【发布时间】:2011-08-30 00:31:46
【问题描述】:
我是使用外籍人士的新手。我试图弄清楚 XML_SetUserData 打算如何做。在我的例子中,我有一个 A 类对象的列表,我需要在解析 XML 流时填充这个列表。
到目前为止,我计划使用单例来表示这个单例。 XML_SetUserData 是否可以消除我的列表成为单例的需要?
【问题讨论】:
标签: c++ xml expat-parser
我是使用外籍人士的新手。我试图弄清楚 XML_SetUserData 打算如何做。在我的例子中,我有一个 A 类对象的列表,我需要在解析 XML 流时填充这个列表。
到目前为止,我计划使用单例来表示这个单例。 XML_SetUserData 是否可以消除我的列表成为单例的需要?
【问题讨论】:
标签: c++ xml expat-parser
是的,确实如此。只需将 XML_SetUserData 传递给任何结构或类保持必要状态的指针,然后从处理程序内部的 (void*) 将其转换回。
一个有用的技巧是定义一个带有静态回调成员函数的基类,将调用从 expat 转发到虚拟成员函数。在这种情况下,XML_SetUserData 提供了一种方便的机制来将this 指针传递给静态回调。
【讨论】: