Как получить весь текст элемента в xml.minidom? - PullRequest
0 голосов
/ 20 марта 2009

Я хочу получить весь текст элемента для анализа xhtml:

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

begin E = div элемент в приведенном выше примере, я хочу получить

<code><pre>skdsk

Как?

1 Ответ

2 голосов
/ 20 марта 2009

Строго говоря:

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

На практике, однако, я бы порекомендовал взглянуть на библиотеку http://www.crummy.com/software/BeautifulSoup/. Найти правильный childNode в документе xhtml и пропустить «пробельные узлы» - это трудная задача. BeautifulSoup - это надежный html / xhtml парсер с фантастическими возможностями поиска по дереву.

Edit: пример выше сжимает HTML в одну строку. Если вы используете HTML-код, как в вопросе, разрывы строк и т. Д. Будут генерировать узлы «пробела», поэтому нужный вам узел не будет иметь дочерних узлов [0].

...