我可以写xmlGetAttr(x,"title")
和xmlGetAttr(x,"href")
来获取“标题”和“href”的附加信息,
我能把两个陈述合二为一吗?
xmlGetAttr(x,c("title","href"))
无效。{
[[name]]中的错误:尝试选择多个元素
答案 0 :(得分:1)
您可以使用xmlAttrs
xmlAttrs(x)[c("title","href")]
作为一个例子:
require(XML)
udata<-htmlParse('http://cran.r-project.org/')
frames<-getNodeSet(udata,'//*/frame')
# > xmlAttrs(frames[[1]])[c('src','name')]
# src name
# "logo.html" "logo"
答案 1 :(得分:0)
getNodeSet
或xpathApply
中的路径可以是包含多个元素的字符向量
attrs <- c("src", "name")
paths <- sprintf("//frame/@%s", attrs)
所以使用@ user1609452的有用的可重现的例子
require(XML)
udata<-htmlParse('http://cran.r-project.org/')
vals <- xpathSApply(udata, paths)
然后例如
matrix(vals, ncol=length(attrs), byrow=TRUE, dimnames=list(NULL, attrs))
导致
> matrix(vals, ncol=length(attrs), byrow=TRUE, dimnames=list(NULL, attrs))
src name
[1,] "logo.html" "logo"
[2,] "navbar.html" "contents"
[3,] "banner.shtml" "banner"