我正在编写一个在R中的XML节点上迭代的函数;为此,我一直在寻找一个肯定或拒绝空XML节点集(例如isEmptyNodeSet
之类的动词)。
换句话说,如果发生以下情况,则函数返回TRUE
:
library(magrittr)
library(rvest)
#> Loading required package: xml2
library(xml2)
"https://www.admin.ch/ch/d/gg/pc/ind2010.html" %>%
read_html() %>%
html_nodes("a.adminCHlink, div#spalteContentPlus h2 ~ ul") %>%
.[[1]] %>%
html_nodes("strong")
#> {xml_nodeset (0)}
由reprex package(v0.2.1)于2019-01-12创建
非常感谢(如果答案很明显,我很抱歉,我是XML新手)!
答案 0 :(得分:0)
请使用is_empty <- function(x) if(length(x) == 0) TRUE else FALSE
(感谢@Chase)。
或者分别使用rlang::is_empty()
或purrr::is_empty()
,它们的作用完全相同。
然后代码变为:
library(magrittr)
library(rvest)
#> Loading required package: xml2
library(xml2)
"https://www.admin.ch/ch/d/gg/pc/ind2010.html" %>%
read_html() %>%
html_nodes("a.adminCHlink, div#spalteContentPlus h2 ~ ul") %>%
.[[1]] %>%
html_nodes("strong") %>%
rlang::is_empty()
#> [1] TRUE