c++ - Windows 上的任何原生 XML DOM 都可以控制内存分配吗?

标签 c++ windows xml libxml2

我希望用一个允许我们使用 DOM 处理但使用我们自己的分配的库替换 MSXML,因此我们可以确保它直接映射到内存映射文件。这避免了将 DOM 同步回文件。任何人都可以建议最有可能以这种方式轻松定制的各种库中的哪些。

我们正在使用简单的 XPath 以及分层 DOM 导航。作为次要偏好,我们希望它有一个接近 .Net DOM classes 的 API。 , 以保持应用程序代码相似。

如有必要,我完全有能力自定义或包装库,写过 expatpp expat 的 OO 包装器.在 benchmarks ,似乎RapidXMLLibXML2在性能方面领先于 expat,并且包含我必须编写的 DOM 代码。另一个竞争者是 pugixml .

从这条评论(在 manual 中)看来,RapidXML 已经接近我所需要的了。节点和属性不拥有它们的名称和值的文本。这是因为通常它们只存储指向源文本的指针。

最佳答案

另请参阅 pugixml 的手册,尤其是 Custom memory allocation/deallocation functions

Pugixml 具有 XPath 支持并得到积极维护。

关于c++ - Windows 上的任何原生 XML DOM 都可以控制内存分配吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3811163/

相关文章:

java - 如何使用 JAXB 将 ArrayList<Object> 转换为 XML?

c++ - 无法在复制构造函数中初始化数组

java - 根据按钮高度调整按钮文本大小

c++ - c/c++ 禁用对文件的访问

c++ - 如何从我的 Windows 笔记本电脑轻松设计基于 Linux 的终端应用程序?

C++ 链表仅在 GNU/Linux 而不是 Windows 中导致段错误

Windows 图形用户界面自动化

xml - 提取XML属性和节点值R

c++ - else 和 if 语句

c++ - 如何更改 CLion 中的默认启动模板?