Как проверить, пуст ли набор узлов XML в R?

Я пишу функцию, которая перебирает узлы XML в R; для этого я искал глагол, который подтверждает или отрицает наличие пустого набора 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)}

Создано в 2019-01-12 пакетом представлением (v0.2.1)

Заранее большое спасибо (и извините, если ответ очевиден, я новичок в XML)!

1 ответ

Либо использовать 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
Другие вопросы по тегам