gpt4 book ai didi

c++ - 如何将私有(private)数据附加到 libxml2 或 gdome dom 树

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:04 24 4
gpt4 key购买 nike

我想使用 libxml2 或 gdome API 将一些私有(private)数据 (void*) 卡在 DOM 树中的节点之外。查看(相当稀疏的)api 文档,似乎 libxml2 节点可能有一个用户数据成员(_private,几乎在每个对象上),但我没有看到任何 api 调用来处理它。

最佳答案

由于 xmlNode 是一个结构,您可以直接访问 void* _private成员。

xmlNode * ePtr = ...;
ePtr->_private = ...;

但我找不到任何说明该字段用于自定义用户数据的文档。所以我会避免这种方法。

相反,我会使用单独的元数据存储,例如 std::map<xmlNode*, void*>会做。 (我会使用比 void* 更类型安全的东西,但希望你明白了)

我看到的最大问题(在这两种情况下)是您需要注意关联的元数据的生命周期。我看不出有什么办法可以收到节点销毁的通知……这可能会导致各种麻烦。

关于c++ - 如何将私有(private)数据附加到 libxml2 或 gdome dom 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com