の要素は可変<product>
であるため、アイテム内のすべての要素をリストする必要があります。<product>
XML ファイル :
<catalog>
<product>
<element1>text 1</element1>
<element2>text 2</element2>
<element..>text ..</element..>
</produc>
</catalog>
Python パーサー: xml ファイルが大きいため、fast_iter を使用しています...
import lxml.etree as etree
import configs.application as configs
myfile = configs.application.tmp + '/xml_hug_file.xml'
def fast_iter(context, func, *args, **kwargs):
for event, elem in context:
func(elem, *args, **kwargs)
elem.clear()
while elem.getprevious() is not None:
del elem.getparent()[0]
del context
def process_element(catalog):
print("List all element of <product>")
context = etree.iterparse(myfile, tag='catalog', events = ('end', ))
fast_iter(context, process_element)