私はこのコードを持っています。同じタグを持つ動物を1つのグループexにグループ化したいです。タグなど。しかし、私のコードでは、出力に動物が含まれていない理由がわかりません<dog><dog>
。<dogs><dog/><dog/></dogs>
出力:
<root>
<zoo>
<some_tag/><some_diff/>
</zoo>
<zoo>
<b/><o/>
</zoo>
</root>
コード:
xml = '`<root>
<zoo>
<some_tag/><some_diff/>
<dog/><dog/>
<cat/><cat/><cat/>
</zoo>
<zoo>
<b/><o/>
<dog/><dog/>
<cat/><cat/><cat/><cat/>
</zoo>
</root>`'
from lxml import etree as et
root = et.fromstring(xml)
node = root.findall('./zoo')
j = False
k = False
for zoo in node:
for animal in zoo:
if 'dog' in animal.tag:
if not j:
dogs = et.SubElement(zoo,'dogs')
dogs.append(animal)
j = True
if 'cat' in animal.tag:
if not k:
cats = et.SubElement(zoo,'cats')
cats.append(animal)
k = True
k = False
j= False