确定div有多少个孩子

时间:2014-10-08 09:19:52

标签: xml r

如何使用xml确定div class="pagination"有多少元素?

<div class="pagination">
   <span class="current">
     1
   </span>
   <a class="" href="#">
     2
   </a>
   <a class="" href="#">
     3
   </a>
   <a class="" href="#">
     4
   </a>
</div>

输出应该是:4。

更新1:

我试过这个:

library(XML)
urrrl <- "http://www.tagesanzeiger.ch/service/suche/suche.html?order=relevanz&q=Ecopop&submitSearch=Suchen&date=alle#"
download.file(url = urrrl, destfile = "overview.xml")
parsed <- htmlParse("overview.xml") 

nodes <-  getNodeSet(parsed, "//div[@class='pagination']")  
nodes
   list()
   attr(,"class")
   [1] "XMLNodeSet"

aid <- lapply(nodes, function(x) xmlSApply(x, xmlValue))
aid
   list()

更新2:

似乎问题在某种程度上与某个底层脚本或某些事实有关,它只能通过&#34; hand&#34;点击所有搜索结果。怎么克服这个? 再次感谢

1 个答案:

答案 0 :(得分:0)

您可以使用XML 1.0的count()功能。 这是一个例子:

doc <- htmlTreeParse("http://www.cgalaw.com/contact", useInternal = TRUE)

(string <- xpathSApply(doc, "count(//h3)", xmlValue, trim = TRUE)) 

[1] 5

doc中有五个节点是h3。所以我认为你可以运行像

这样的东西
xpathSApply(doc, "count(div[@class='pagination'])", xmlValue, trim = TRUE)