我有一个包含以下数据的 xml。我需要获取和所有其他属性的值。我返回一个 python 代码,我只得到第一个驱动程序值。
我的 xml:
<volume name="sp" type="span" operation="create">
<driver>HDD1</driver>
<driver>HDD2</driver>
<driver>HDD3</driver>
<driver>HDD4</driver>
</volume>
我的脚本:
import xml.etree.ElementTree as ET
doc = ET.parse("vol.xml")
root = doc.getroot() #Returns the root element for this tree.
root.keys() #Returns the elements attribute names as a list. The names are returned in an arbitrary order
root.attrib["name"]
root.attrib["type"]
root.attrib["operation"]
print root.get("name")
print root.get("type")
print root.get("operation")
for child in root:
#print child.tag, child.attrib
print root[0].text
我的输出:
sr-query:~# python volume_check.py aaa
sp
span
create
HDD1
sr-queryC:~#
我没搞定HDD2
,HDD3
和HDD4
。如何通过此 xml 进行迭代以获取所有值?有什么优化的方法吗?我认为任何 for 循环都可以做到这一点,但不熟悉 Python。