2010-08-15 7 views
1

J'essaie de récupérer toutes les valeurs de la div. Par exemple:Obtenir toutes les valeurs des nœuds enfants du nœud courant

<div>xyz <span> abc </span> def</div> 

Ce code

the_page="<div>xyz <span> abc </span> def</div>" 
doc = libxml2dom.parseString(the_page, html=1) 
divs=doc.getElementsByTagName("div") 
print divs[0].firstChild.nodeValue 

Cela ne imprime "xyz". J'ai essayé juste de faire imprimer divs [0] .nodeValue, mais cela me donne une erreur. Je veux tout le texte. Comment pourrais-je contourner cela?

+0

Veuillez étendre votre question avec le code source Python qui renvoie la valeur incorrecte. – pts

+0

Avez-vous essayé 'textContent'? –

+0

Par "valeurs" voulez-vous dire nœuds ou texte? – habnabit

Répondre

1

pour votre:

divs=doc.getElementsByTagName("div") 

utilisation:

childs = divs[0].childNodes 

alors, vous pouvez les explorer. Chaque enfant contient une liste d'enfants et nodeValue

for child in childs : 
    if child.childNode == []: 
     print child.nodeValue 
    else : 
     ## Recurse 
Questions connexes