2012-01-17 1 views
-2

Это пример запроса я мог бы сделать в PHP:Как выполнить запрос в ElementTree, как в Xpath?

foreach(steps as step) 
{ 
    areT_eles = xpath->query(t_eleQuery, step) 
} 

Сейчас в питоне:

for step in index steps: 
    areT_eles = ?!?!?!?!!??!?!!??!! 

Я попытался это:

for step in index steps: 
    areT_eles = xpath.query(t_eleQuery, step) 

Это не сработало. Я только импортировал Elementtree от xml.etree.ElementTree.

На самой официальной странице, которую я смог найти на xpath в elementtree, на самом деле не было никакой документации или примеров .... И мы все знаем, насколько ужасно печальны официальные уроки Python. Итак, я также ищу хороший ресурс.

+2

Учебники Python не так «ужасно плохие», что они скажут вам написать 'foreach', когда вы имеете в виду' for'. –

+0

@larsmans Правда, но они намного хуже, чем другие. Если вы хотите, чтобы я поцарапал эту линию, все в порядке. Однако, если сообщество не услышат протест, ничего не изменится. Я не хочу этого. Я добавляю его ко всем моим вопросам python на всех сайтах, на которых я отправляю сообщения. На самом деле, это люди, которые пишут и редактируют документы ... Им все равно. –

+2

Я не считаю это очень конструктивным. Когда учебное пособие неясно вам, обратитесь к его авторам или к соответствующему списку рассылки. По моему опыту, сообщество Python очень полезно и терпимо относится к новичкам, если вы не приближаетесь к ним враждебно. –

ответ

2

Если у вас есть LXML, высокая производительность, полнофункциональный вариант ElementTree, установки вы можете использовать XPath следующим образом:

>>> from lxml import etree 
>>> xml = """<ham><spam>Hello!</spam> <spam>Goodbye!</spam></ham>""" 
>>> tree.xpath("//spam/text()") 
['Hello!', 'Goodbye!'] 

Я могу рекомендовать LXML для всех ваших потребностей Python XML; это быстро и Pythonic.

+0

Да, я это подтвердил. Также добавляется добавление «шага» в качестве второго аргумента. Спасибо. –

Смежные вопросы