错误: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进行检查。