You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行R代码触发xpathApply方法报错,是否存在参数缺失?

问题分析与解决

这个报错不是由于缺少参数导致的。

报错原因

getNodeSet(其底层依赖xpathApply函数)要求第一个参数必须是解析后的XML/HTML文档对象,但你传入的doc是字符类型的原始文本,不符合函数的参数类型要求,因此触发了类型不匹配的错误。

解决方法

先将原始的字符文本解析为XML/HTML文档对象,再调用getNodeSet:

处理XML文本(使用XML包)

library(XML)
# 将字符类型的doc解析为XML文档对象
doc_parsed <- xmlParse(doc)
# 再执行后续操作
anchor <- getNodeSet(doc_parsed, "//a")
anchor <- sapply(anchor, function(x) xmlGetAttr(x, "href"))

处理HTML文本(可选XML包或rvest包)

用XML包:

library(XML)
doc_parsed <- htmlParse(doc)
anchor <- getNodeSet(doc_parsed, "//a")
anchor <- sapply(anchor, function(x) xmlGetAttr(x, "href"))

用更简洁的rvest包:

library(rvest)
doc_parsed <- read_html(doc)
# 直接提取所有a标签的href属性
anchor <- doc_parsed %>% html_elements("a") %>% html_attr("href")

内容的提问来源于stack exchange,提问作者raiden100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 01:38:11