首页 > 解决方案 > R解析XML页面

问题描述

我有一个 XML 页面http://www.thruway.ny.gov/xml/interchanges.xml

我想创建一个数据框,每行有一个交换,id、纬度等作为列。

我尝试这样做以获取向量中的节点,并计划对其他列进行类似的操作,并将它们绑定到数据框中。但getNodeSet似乎不起作用。

interchanges_xml <- xmlParse("http://www.thruway.ny.gov/xml/interchanges.xml")

id <- setNames(
  xmlToDataFrame(node = getNodeSet(interchanges_xml, "/interchanges/interchange/id")), 
  "id"
)

标签: rxmlxml-parsing

解决方案


我发现使用 xml2 包比使用 XML 更容易。

library(xml2)
doc<-read_xml("http://www.thruway.ny.gov/xml/interchanges.xml")
nodes<- xml_find_all (doc, "interchange")
df<-data.frame(do.call(rbind, xml_attrs(nodes)))

推荐阅读