我有,
<parent id="1">
<child id="white"></child>
<child id="red"></child>
</parent>
<parent id="2">
<child id="green"></child>
<child id="gray"></child>
</parent>
我需要这个输出,
1
white
red
2
green
gray
,我就是这么做的
parent = xmldoc.getElementsByTagName('parent')
for item in parent:
child = xmldoc.getElementsByTagName('child')
child_id = child.getAttribute('id')
for child_id in child:
print child_id
当然,我错了,但不知道如何循环这些父ID并单独收集每个列表。我很感激你的帮助!
试试这个
import xml.dom.minidom as minidom
a = '<parent id="1"><child id="white"></child><child id="red"></child></parent>'
dom = minidom.parseString(a)
for parent in dom.childNodes:
print parent.getAttribute('id')
for child in parent.childNodes:
print ' %s' % child.getAttribute('id')
因为您正在猜测代码和语法:
import xml.dom.minidom
s = """<?xml version="1.0"?>
<container>
<parent id="1">
<child id="white"></child>
<child id="red"></child>
</parent>
<parent id="2">
<child id="green"></child>
<child id="gray"></child>
</parent>
</container>
"""
xmldoc = xml.dom.minidom.parseString(s)
parent = xmldoc.getElementsByTagName('parent')
for item in parent:
print item.getAttribute('id')
for child in item.getElementsByTagName('child'):
print child.getAttribute('id')