Python lxml - получить индекс текста тега
У меня есть xml-файл с форматом, похожим на docx, т.е.
<w:r>
<w:rPr>
<w:sz w:val="36"/>
<w:szCs w:val="36"/>
</w:rPr>
<w:t>BIG_TEXT</w:t>
</w:r>
РЕДАКТИРОВАТЬ: Мне нужно получить индекс & quot; BIG_TEXT & quot; в исходном XML, как:
from lxml import etree
text = open('/devel/tmp/doc2/word/document.xml', 'r').read()
root = etree.XML(text)
start = 0
for e in root.iter("*"):
if e.text:
offset = text.index(e.text, start)
l = len(e.text)
print 'Text "%s" at offset %s and len=%s' % (e.text, offset, l)
start = offset + l
Я могу начать новый поиск с позиции текущего индекса + len (текст), но есть ли другой способ? Элемент может иметь один символ,w
например. Найдет индексw
, но не индекс текста тегаw
.