如何检查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
我正在编写一个迭代 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