J'essaie de rayer la liste des magasins du département pour le continent/pays de global Dept stores. Je cours le code suivant pour obtenir les continents d'abord, car nous pouvons voir que la hiérarchie de XML est telle que les pays avec chaque continent ne sont pas des noeuds d'enfant de ce continent.Grattage des données hiérarchiques
> url<-"http://en.wikipedia.org/wiki/List_of_department_stores_by_country"
> doc = htmlTreeParse(url, useInternalNodes = T)
> nodeNames = getNodeSet(doc, "//h2/span[@class='mw-headline']")
> # For Africa
> xmlChildren(nodeNames[[1]])
$a
<a href="/wiki/Africa" title="Africa">Africa</a>
attr(,"class")
[1] "XMLInternalNodeList" "XMLNodeList"
> xmlSize(nodeNames[[1]])
[1] 1
Je sais que je pouvais faire les pays d'une commande séparée getNodeSet mais je voulais juste vous assurer que je ne suis pas manque quelque chose. Existe-t-il un moyen plus intelligent d'obtenir toutes les données sur chaque continent, puis dans chaque pays en même temps?
Compte tenu de la structure de votre document, il peut être plus facile à analyser avec SAX plutôt que d'utiliser l'arbre DOM. – juba