2010-08-15 296 views
1

我正试图检索div中的所有值。 例如:获取当前节点的所有子节点的值

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

这是代码

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 

这仅打印 “XYZ”。我试图打印div [0] .nodeValue,但是这给了我一个错误。 我想要所有的文字。我将如何解决这个问题?

+0

请使用返回错误值的Python源代码扩展您的问题。 – pts 2010-08-15 18:11:17

+0

你尝试过'textContent'吗? – 2010-08-15 18:24:23

+0

“值”是指节点还是文本? – habnabit 2010-08-15 18:24:58

回答

1

您:

divs=doc.getElementsByTagName("div") 

使用:

childs = divs[0].childNodes 

然后,你可以抓取。每个孩子都包含孩子和节点的列表值

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