从xml已解析列表转换为R中的字符

时间:2014-11-05 11:26:11

标签: xml r

我已经使用 htmlParse()阅读并解析了 url

我已使用 xpathApply 过滤掉并获取我想要的确切内容。

我想将创建的列表转换为字符。当我尝试转换时,我收到此错误:

"<pointer: 0x000000001673db70>"

我假设解析的内容使用指针指向主对象。

我想要的内容可能包含一些XML语法,因此xmlValue不会有任何好处。

1 个答案:

答案 0 :(得分:6)

您可以使用saveXML将内部节点转换为字符:

library(XML)
appUrl <- 'http://cran.r-project.org/'
doc <- htmlParse(appUrl)
out1 <- xpathSApply(doc, "//*/frame")
out2 <- xpathSApply(doc, "//*/frame", saveXML)
> str(out1)
List of 3
 $ :Classes 'XMLInternalElementNode', 'XMLInternalNode', 'XMLAbstractNode' <externalptr> 
 $ :Classes 'XMLInternalElementNode', 'XMLInternalNode', 'XMLAbstractNode' <externalptr> 
 $ :Classes 'XMLInternalElementNode', 'XMLInternalNode', 'XMLAbstractNode' <externalptr> 
> str(out2)
 chr [1:3] "<frame src=\"logo.html\" name=\"logo\" frameborder=\"0\"/>" ...