我有这段代码,我想用相同的标签将动物分组到前一组。标签<dog><dog>
到<dogs><dog/><dog/></dogs>
等。但在我的代码中,我不知道为什么是没有动物的输出。在python 3中用lxml解析xml 3
OUTPUT:
<root>
<zoo>
<some_tag/><some_diff/>
</zoo>
<zoo>
<b/><o/>
</zoo>
</root>
CODE:
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
请重新说明您的问题..这是不是很清楚 – securecurve
我改变了它,好吗? – dusan
雅..好得多:)) – securecurve