打开和阅读XML

时间:2016-05-05 00:21:25

标签: xml r

我正在尝试打开并阅读一个课程的XML文件。

根据课程说明,我做了:

library(XML)
library (RCurl)
fileURL <-"https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml"
xData <- getURL(fileURL)
doc <- xmlParse(xData)

然而,当我尝试用rootNode[[1]]阅读文件的内容时,我收回了晦涩的内容。

如何在R中实际解密文件?

1 个答案:

答案 0 :(得分:0)

Haim的,

XML文档基本上可以被视为树结构,您似乎在询问如何访问结构的根。

RootNode访问

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="{&quot;address&quot;:&quot;4509 BELAIR ROAD&quot;,&quot;city&quot;:&quot;Baltimore&quot;,&quot;state&quot;:&quot;MD&quot;,&quot;zip&quot;:&quot;&quot;}" 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

我希望以上有帮助...