我是 R 新手用户,对 xml 格式绝对是新手,所以如果这个问题有明显的答案,请原谅我。
我正在尝试使用 xml 文件中的特定对象创建数据框,但有两个问题。
当我将 xml 文件内容从 URL 读入 R(我使用 htmlTreeParse)时,它似乎是一个长字符串,而不是我在 xml 文件中看到的常用格式。我尝试使用其他网址,但没有遇到这个问题。这是否与xml内容中间的一系列“??@@@”有关? (网址:http://opentrip.atlantaregion.com/otp-rest-servlet/ws/plan?&fromPlace=33.87725673930016%2C-84.46014404296875&toPlace=33.74946419232578%2C-84.38873291015625&time=1%3A13pm&date=03-21-2014&mode=TRANSIT%2CWALK&maxWalkDistance=750&arriveBy=false&showIntermediateStops=false&itinIndex=0)。
我对如何将 xml 内容分配给数据框、抓取其中的某些部分并分配给不同的变量有点迷失。
到目前为止,我已经附上了我的 R 代码,以防它有帮助。
谢谢你们,我很感激你们提出的任何见解!如果答案非常明显,我再次表示歉意。
我的 R 代码:
xml.url <- "http://opentrip.atlantaregion.com/otp-rest-servlet/ws/plan?&fromPlace=33.87725673930016%2C-84.46014404296875&toPlace=33.74946419232578%2C-84.38873291015625&time=1%3A13pm&date=03-21-2014&mode=TRANSIT%2CWALK&maxWalkDistance=750&arriveBy=false&showIntermediateStops=false&itinIndex=0"
xmlfile <- htmlTreeParse(xml.url)
最佳答案
该网站根据它认为询问的对象来调整其内容。
您需要要求它向您发送 xml 内容。您还可能需要给它一个用户代理。这可以通过 RCurl
library(XML)
library(RCurl)
xml.url <- "http://opentrip.atlantaregion.com/otp-rest-servlet/ws/plan?&fromPlace=33.87725673930016%2C-84.46014404296875&toPlace=33.74946419232578%2C-84.38873291015625&time=1%3A13pm&date=03-21-2014&mode=TRANSIT%2CWALK&maxWalkDistance=750&arriveBy=false&showIntermediateStops=false&itinIndex=0"
myAgent <- "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0"
myAccept <- "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
library(XML)
library(RCurl)
xData <- getURL(xml.url, useragent = myAgent, encoding = "UTF-8"
,httpheader = c(Accept = myAccept))
xmlfile <- htmlParse(xData) #, encoding = "UTF8")
或者,如果您不要求它提供XML
,它会返回您JSON
,您可以使用RJSONIO
或类似的东西来解析它:
library(RJSONIO)
jData <- fromJSON(xml.url)
> names(jData)
[1] "requestParameters" "plan" "error" "debug"
> jData$requestParameters
date mode
"03-21-2014" "TRANSIT,WALK"
arriveBy showIntermediateStops
"false" "false"
fromPlace itinIndex
"33.87725673930016,-84.46014404296875" "0"
toPlace time
"33.74946419232578,-84.38873291015625" "1:13pm"
maxWalkDistance
"750"
关于xml - 将 xml 解析为 R 数据框时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25942398/