错误:XML内容似乎不是XML | R 3.1.0
我想获得这个XML文件,但我无法。 我检查了同一主题中的其他解决scheme,但我无法理解。 我是一个R新手。
> library(XML) > fileURL <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml" > doc <- xmlTreeParse(fileURL,useInternal=TRUE)
错误:XML内容似乎不是XML:' https : //d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml '
你能帮忙吗?
从https
删除s
library(XML) fileURL<-"https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml" doc <- xmlTreeParse(sub("s", "", fileURL), useInternal = TRUE) class(doc) ## [1] "XMLInternalDocument" "XMLAbstractDocument"
您可以使用RCurl
来获取内容,然后XML似乎能够处理它
library(XML) library(RCurl) fileURL <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml" xData <- getURL(fileURL) doc <- xmlParse(xData)
xmlTreeParse不支持https。
您可以使用getURL
(来自RCurl
)加载数据,然后parsing它。
答案在http://www.omegahat.net/RCurl/installed/RCurl/html/getURL.html 。 关键的一点是,如果显示证书错误,则使用ssl.verifyPeer = FALSE和getURL。
library (RCurl) library (XML) curlVersion()$features curlVersion()$protocol ##These should show ssl and https. I can see these on windows 8.1 at least. ##It may differ on other OSes. temp <- getURL("https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml", ssl.verifyPeer=FALSE) DFX <- xmlTreeParse(temp,useInternal = TRUE)
如果libcurl函数没有显示ssl或https能力,请使用Rcurl和HTTP进行检查。