使用library(xml2)解析XML数据[R]

时间:2018-11-14 20:16:53

标签: r xml xml-parsing

我正在尝试解决Coursera中的数据清理课程。我在编码时遇到麻烦:

  1. 如何解析XML数据(使用库xml2)并用于查找餐厅数量?

  2. 如何将XML解析为数据帧?

从此处读取巴尔的摩餐厅的XML数据: https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml

有多少家餐馆的邮政编码为21231?

library(xml2)
x <- read_xml("https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml")
y <- as.numeric(xml_path(xml_find_all(x, "//row[@zipcode='21231']]")))
y

library(rvest)
library(purrr)
pg <- read_html ("https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml")
    html_nodes(pg, "//row[@zipcode='21231']]") %>% 
            map(xml_attrs) %>% 
            map_df(~as.list(.))

我尝试用两种方法编码,但没有一种有效。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

正在寻找这样的东西吗?

length( xml_find_all( x, './/zipcode[text()="21231"]' ) )
[1] 127