Как мне получить все содержимое между двумя тегами xml в Python?

Я пытаюсь получить все содержимое между открывающим тегом xml и его закрывающим аналогом.

Получить содержимое в простых случаях, таких как заголовокниже, легко, но как я могу получить весь контентмежду тегами, если используется смешанный контенти я хочу сохранить внутренние теги?

<?xml version="1.0" encoding="UTF-8"?>
<review>
  <title>Some testing stuff</title>
  <text sometimes="attribute">Some text with <extradata>data</extradata> in it.
  It spans <sometag>multiple lines: <tag>one</tag>, <tag>two</tag> 
  or more</sometag>.</text>
</review>

Мне нужно содержимое между двумятекстовымитегами, включая любые теги: Некоторый текст с data в нем. Он занимает несколько строк: одну, две или более.

Сейчас я использую регулярные выражения, но это немного запутывает, и мне не нравится такой подход. Я склоняюсь к решению на основе парсера XML. Я просмотрел minidom, etree, lxmlи BeautifulSoup, но не смог найти решения для этого случая (все содержимое, включая внутренние теги).

13
задан Brutus 22 June 2012 в 09:44
поделиться