我正在R中处理一些XML数据,遇到了有关“externalptr”类型的错误。
1)尝试使用xmlInternalTreeParse()函数(XML包的一部分)时出现以下错误。

 doc = xmlInternalTreeParse(xmldatavariable)
    'Error in as.vector(x, "character") : cannot coerce type 'externalptr'
 to vector of type 'character''

2)当我试图将XML数据写入文本文件时,会出现此错误,因此我可以查看它并查看可能的错误。
write(xmldatavariable,"sample.txt")
Error in cat(list(...), file, sep, fill, labels, append) :
      argument 1 (type 'externalptr') cannot be handled by 'cat'

有什么建议吗?谢谢- Z

最佳答案

XML包的工作原理是使XML文档的指针文档成为您试图操作的对象。
“externalptr”只是指向xml文档中数据的外部指针。
要访问需要使用的数据

Parsed.xml <- xmlTreeParse(xml) ## should be string with xml text
## get value of the first node
xmlValue(xml[[1]])
## get value of the third grandchild of the first node
xmlValue(xml[[1]][[45]][[3]])

您需要以列表的形式访问xml的每个节点。

08-06 00:49