使用xml包(版本3.98-1.1,R 3.0.2,Windows 7,64位)读取.xml文件时,我遇到释放内存的问题。之前出现了这个问题,并且已经提出了几个解决方案/错误修复,也就是stackoverflow。我经历了很多这些并且还阅读(并理解?)Duncan Lang的内存管理页面,概述了节点和文档的基于计数器的内存释放。但问题仍然存在,即
pathed<- ... # path to a PubChem .xml file
doc<-xmlTreeParse(file=pathed,useInternalNodes=TRUE)
get_data<-getNodeSet(doc,path="//r:PC-InfoData",
c(r = "http://www.ncbi.nlm.nih.gov")
)
不允许我使用doc和get_data的rm(),free(),gc()的任何组合和不同顺序从内存中释放“doc”。我最终使用.Call(“RS_XML_forceFreeDoc”,doc)并使用.Call(“R_getXMLRefCount”,......)监视计数器设置 - 但这不是真正的解决方案,不是吗?
我做错了什么?非常感谢你的帮助...