如何在xml.minidom中获取元素的全文?

时间:2009-03-20 15:44:37

标签: python minidom

我想得到一个元素的全文来解析一些xhtml:

<div id='asd'>
  <pre>skdsk</pre>
</div>

在上面的例子中开始E = div元素,我想得到

<pre>skdsk</pre>

如何?

1 个答案:

答案 0 :(得分:2)

严格来说:

from xml.dom.minidom import parse, parseString
tree = parseString("<div id='asd'><pre>skdsk</pre></div>")
root = tree.firstChild
node = root.childNodes[0]
print node.toxml()

但实际上,我建议您查看http://www.crummy.com/software/BeautifulSoup/库。在xhtml文档中找到正确的childNode,并跳过“空白节点”是一件痛苦的事。 BeautifulSoup是一个强大的html / xhtml解析器,具有出色的树搜索能力。

编辑:上面的示例将HTML压缩为一个字符串。如果你在问题中使用HTML,换行符会产生“空白”节点,所以你想要的节点不会出现在childNodes [0]上。