Вот мой пример кода:Не можете найти теги после использования «установить» метод элемента с библиотекой cElementTree
import xml.etree.cElementTree as ET
g = ET.Element('stuff')
g.set('foo','bar')
h = ET.ElementTree(g)
С этой установкой, вот что происходит:
>>> g.iterfind('stuff')
<generator object select at 0x10d38fa00>
>>> _.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>> h.iterfind('stuff')
<generator object select at 0x10d38fa00>
>>> _.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
Я бы на самом деле довольно не используйте getiterator()
и каждый раз итерации по всему дереву (хотя я думаю, что iterfind может делать это за кулисами). Почему это не удается найти? Он работает до того, как я сделаю set
, но не после.
Вы уверены, что это работает до того, как вы выполните 'set'? Это не для меня, и это не должно. У вашего узла 'stuff' нет потомков с именем' stuff', поэтому 'iterfind' (или' find', который немного проще использовать для интерактивной отладки) ничего не возвращает. – abarnert