我正在尝试在library(XML)
中使用?getNodeSet
中的library(XML)
doc = xmlTreeParse(system.file("exampleData", "tagnames.xml", +
package = "XML"), useInternalNodes = TRUE)
getNodeSet(doc, "/doc//b[@status]")
getNodeSet(doc, "/doc//b[@status='foo']")
的简单函数。我尝试了> getNodeSet(doc, "/doc/b[@status]")
list()
attr(,"class")
[1] "XMLNodeSet"
> getNodeSet(doc, "/doc//b[@status='foo']")
list()
attr(,"class")
[1] "XMLNodeSet
处给出的示例。
第一行访问文档,但结果为空列表。
els = getNodeSet(doc, "/doc//a[@status]")
sapply(els, function(el) xmlGetAttr(el, "status"))
给出空列表,例如:
> getNodeSet(doc, "/doc//a[@status]")
[[1]]
<a status="xyz"/>
[[2]]
<a status="1"/>
attr(,"class")
[1] "XMLNodeSet"
然而,相同数据的下一行给出了:
this
非空列表。
t1.sum()
我似乎无法弄清楚两者之间的区别,当我尝试在我的文件上使用getNodeSet时,它也会返回空集。很奇怪,帮助示例无论如何都会给出空列表。这是该功能的问题,还是任何人都可以帮助我理解其中的差异。