我正在尝试打开并阅读一个课程的XML文件。
根据课程说明,我做了:
library(XML)
library (RCurl)
fileURL <-"https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml"
xData <- getURL(fileURL)
doc <- xmlParse(xData)
然而,当我尝试用rootNode[[1]]
阅读文件的内容时,我收回了晦涩的内容。
如何在R中实际解密文件?
答案 0 :(得分:0)
Haim的,
XML文档基本上可以被视为树结构,您似乎在询问如何访问结构的根。
library(XML)
url <- "http://d396qusza40orc.cloudfront.net/getdata/data/restaurants.xml"
xmlDoc <- xmlTreeParse(file=url,useInternal=TRUE)
rootNode <- xmlRoot(xmlDoc)
xmlName(rootNode)
str(rootNode)
rootNode[[1]][[1]]
后一个命令rootNode[[1]][[1]]
将返回:
> rootNode[[1]][[1]]
<row _id="1" _uuid="93CACF6F-C8C2-4B87-95A8-8177806D5A6F" _position="1" _address="http://data.baltimorecity.gov/resource/k5ry-ef3g/1">
<name>410</name>
<zipcode>21206</zipcode>
<neighborhood>Frankford</neighborhood>
<councildistrict>2</councildistrict>
<policedistrict>NORTHEASTERN</policedistrict>
<location_1 human_address="{"address":"4509 BELAIR ROAD","city":"Baltimore","state":"MD","zip":""}" needs_recoding="true"/>
</row>
>
现在我们有了根节点,我们可以在XML结构中搜索与特定值有关的信息,例如每个分支邮政编码:
zipcode <- xpathSApply(rootNode,"//zipcode",xmlValue)
length(zipcode[zipcode==21213])
例如,我们发现33
个房屋在XML文档中的邮政编码为21213
。
超越这个;我建议您阅读文档
https://cran.r-project.org/web/packages/XML/XML.pdf
我希望以上有帮助...