如何检查XML节点集在R中是否为空?

How to check whether an XML node set is empty in R?

我正在编写一个迭代 R 中 XML 个节点的函数;为此,我一直在寻找一个动词来确认或否认空 XML-nodeset 的存在(类似于 isEmptyNodeSet)。

换句话说,如果出现如下情况,returns 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-新手)!

要么使用 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