我想保存作为htmlParse命令结果的对象.这是一些代码来说明我的问题.简单地说,我希望能够将解析HTML页面保存到对象并将其加载到将来的会话中.
library(XML)
PATH = "/colleges/Bentley-University"
URL <- paste("http://www.cappex.com", PATH, sep="")
doc <- htmlParse(URL)
mylist <- list(doc)
mylist[[1]]
save(mylist, file="mylist.Rdata")
rm(list=ls())
load("mylist.Rdata")
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试回忆我的列表中的内容时,这是我得到的错误:
> mylist[[1]]
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
cannot open file '/var/folders/hv/wtvckymn0230hpsdwylmtf0r0000gn/T//Rtmp8Mrpev/fileed256550e50': No such file or directory
Run Code Online (Sandbox Code Playgroud)
doc不能保存,因为它是指向"C级节点"的指针.将它放在列表中并不会改变这一事实.您可以先将XML树的表示形式写入字符串然后保存.你可以恢复文本.
library(XML)
PATH = "/colleges/Bentley-University"
URL <- paste("http://www.cappex.com", PATH, sep="")
doc <- htmlParse(URL)
saveXML(doc, file="ex.txt")
rm(list=ls())
# recover
doc<-htmlParse('ex.txt')
Run Code Online (Sandbox Code Playgroud)