3

属性「タイトル」と「href」を取得するために、xmlGetAttr(x,"title")2 つのステートメントを 1 つに合成できますか? 動作しません。 [[name]] のエラー: 複数の要素を選択しようとしています xmlGetAttr(x,"href")

xmlGetAttr(x,c("title","href"))

4

2 に答える 2

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" 
于 2012-10-03T09:15:29.380 に答える
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"  
于 2012-10-03T11:43:43.980 に答える