【发布时间】:2017-02-27 10:51:12
【问题描述】:
我有一个 XML 文件,我从中提取了我想要从 XML 中 grep 的项目的路径。
如果提供的 URL 不起作用,可以在此处找到 XML: Download XML
像这样:
library(XML)
dat <- read_xml(as.character("http://affi.voetbalshop.nl/google_create_unique.php"))
#dat_list <- dat %>% xml_find_all("//channel//item") %>% as_list()
dat_nodePaths <- dat %>% xml_find_all("//channel//item")
#dat_nodes <- dat %>% xml_find_all("//channel//item")
dat_paths <- xml_path(dat_nodePaths)
现在我想一一提取每个路径并将它们添加到 DataFrame。如果我只将它应用于其中一条路径,我的 DF 只偏离了 1 行,但它可以工作。
l <- xml_find_first(dat, dat_paths[i]) %>% as_list()
df <- as.data.frame(t(unlist(l)), stringsAsFactors = F)
我之前尝试过使用 xml_find_all() 但这让我无法控制如何处理我的 XML 中的每个项目。
我目前的尝试是这样的:
df <- rbind(for(i in 1:length(dat_paths)) {
l <- xml_find_first(dat, dat_paths[i]) %>% as_list()
as.data.frame(t(unlist(l)), stringsAsFactors = F)
#df <- rbind(as.data.frame(t(unlist(l))))
})
在 for 循环内外使用 rbind 进行了尝试。内部只给了我最后一个对象(显然)。另一个只有 Null。
如何从我的 XML 项中获取格式良好的 DataFrame?
【问题讨论】:
-
人们不太可能在那里有帐户。您应该粘贴 XML 文件的代表性工作示例。
-
@hrbrmstr 我认为此 XML 无需登录即可工作?我会将其上传到某处并将链接粘贴到问题中!谢谢!