r - 如何检查 R 中的 XML 节点集是否为空?
问题描述
我正在编写一个在 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 包(v0.2.1)于 2019 年 1 月 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
推荐阅读
- python - Python - 从命令行转储 Python 路径配置?
- python - 在python中打破一个try循环
- angular - 从 Ng-Idle 中删除 mousemove 等事件
- javascript - 获取请求 VS。WebSocket 哪个更快?
- macos - AVSynchronizedLayer 在 macOS 上不播放动画
- python - 将日期时间值列表转换为时间戳值列表
- java - 我怎么不能从 FTP 文件夹下载 .txt 文件,但可以列出文件并上传?
- python - 在 Python 中读取特定的 Excel 日历
- github - 如何使用 CodePipeline 中的“AWS Connector for GitHub”访问我组织的 GitHub 存储库?
- java - 使用 <= 或 >= 运算符比较两个双精度数是否安全?