Во-первых, «список» не очень хорошая переменная, потому что он «затеняет» встроенный тип «list
.»
Теперь, скажем, у вас есть этот xml:
<root>
<node1 val="foo">derp</node1>
<node2 val="bar" />
</root>
Теперь вы можете сделать это:
root = objectify.parse("myfile.xml")
print root.node1.get("val") # prints "foo"
print root.node1.text # prints "derp"
print root.node2.get("val") # prints "bar"
Еще один совет: если у вас много узлов с одинаковым именем, вы можете зациклить их.
>>> xml = """<root>
<node val="foo">derp</node>
<node val="bar" />
</root>"""
>>> root = objectify.fromstring(xml)
>>> for node in root.node:
print node.get("val")
foo
bar
Редактировать
Вы должны иметь возможность просто установить контекст django для объекта books и использовать его из своих шаблонов.
context = dict(books = root.book,
# other stuff
)
И тогда вы сможете перебирать книги в шаблоне и получать доступ к атрибутам каждого объекта книги.