LINUX.ORG.RU

Как извлечь текст из тегов с помощью ElementTree

 


0

1

Есть у меня XML-файл:

<class id="1" name="good/bad">
    <verb>
        <token>like</token>
        <token>feel</token>
    </verb>
    <mess>This is <sugg>not</sugg> text</mess>
    <id type="incorrect">I'm glad to <marker>unsee you</marker>.</id>
    <id type="correct">I'm glad to see you.</id>
</class>
Мне нужно извлечь текст из определенных тэгов. На http://effbot.org как-то примеров негусто и вообще документация бедная. Может, есть где-то хорошие примеры? И как мне реализовать текст в одинаковых тегах (token) как отдельные объекты? Спасибо заранее! Результат примерно должно быть следующим:
(like) feel > not #This is not text



Последнее исправление: NoNameNoNumber (всего исправлений: 2)
Ответ на: комментарий от ggrn

Не все так просто. print p возвращает:

<Element 'verb' at 0x7f16db19b190>

NoNameNoNumber
() автор топика
Ответ на: комментарий от NoNameNoNumber

ок. если не хочешь читать доку.

from xml.etree.ElementTree import ElementTree
tree = ElementTree()
tree.parse("filename.xml")
p = tree.find('verb')
for i in range(len(p)):
    print p[i].text

Если тяжко с английским найди Дэвид Бизли Python подробный справочник издание 4.

ggrn ★★★★★
()
Ответ на: комментарий от NoNameNoNumber

Да уж... пошли питонщики... Вам кто-то запрещаеть под себя пример подпилить: texts = [p.text for p in tree.find('verb')]

anonymous
()

почему именно etree? попробуй xml.dom.minidom.

имхо, удобней для задачи

pawnhearts ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.