我希望用一个允许我们使用 DOM 处理但使用我们自己的分配的库替换 MSXML,因此我们可以确保它直接映射到内存映射文件。这避免了将 DOM 同步回文件。任何人都可以建议最有可能以这种方式轻松定制的各种库中的哪些。
我们正在使用简单的 XPath 以及分层 DOM 导航。作为次要偏好,我们希望它有一个接近 .Net DOM classes 的 API。 , 以保持应用程序代码相似。
如有必要,我完全有能力自定义或包装库,写过 expatpp expat 的 OO 包装器.在 benchmarks ,似乎RapidXML和 LibXML2在性能方面领先于 expat,并且包含我必须编写的 DOM 代码。另一个竞争者是 pugixml .
从这条评论(在 manual 中)看来,RapidXML 已经接近我所需要的了。节点和属性不拥有它们的名称和值的文本。这是因为通常它们只存储指向源文本的指针。
最佳答案
另请参阅 pugixml 的手册,尤其是 Custom memory allocation/deallocation functions
Pugixml 具有 XPath 支持并得到积极维护。
关于c++ - Windows 上的任何原生 XML DOM 都可以控制内存分配吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3811163/