在尝试解析xml文件时,我总是遇到此错误.
一个简单的脚本来重现它:
doc <- xmlRoot(xmlTreeParse("http://www.stat.purdue.edu/~mdw/490M/cdcatalog.xml"))
xpathSApply(doc, "//CATALOG/CD/PRICE", xmlValue)
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘saveXML’ for signature ‘"character"’
Run Code Online (Sandbox Code Playgroud)
加载以下包:
sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-apple-darwin13.1.0 (64-bit)
locale:
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] XML_3.98-1.1
loaded via a namespace (and not attached):
[1] tools_3.1.0
Run Code Online (Sandbox Code Playgroud)
小智 28
url <- "http://www.stat.purdue.edu/~mdw/490M/cdcatalog.xml"
doc <- xmlRoot(xmlTreeParse(url, useInternalNodes = TRUE))
xpathSApply(doc, "//CATALOG/CD/PRICE", xmlValue)
Run Code Online (Sandbox Code Playgroud)
我认为这与名称空间的解析有关.xpath使用getNodeSet()需要useInternalNodes = TRUE
doc <- xmlParse("http://www.stat.purdue.edu/~mdw/490M/cdcatalog.xml")
Run Code Online (Sandbox Code Playgroud)
应该做...
| 归档时间: |
|
| 查看次数: |
8152 次 |
| 最近记录: |