0

次のデータを含む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、、。このxmlを開始してすべての値を取得するにはどうすればよいですか?最適化された方法はありますか?forループならどれでもそれができると思いますが、Pythonには慣れていません。HDD3HDD4

4

1 に答える 1

4

あなたのforループでは、それはあるべきです

child.text

いいえ

root[0].text
于 2012-10-22T05:27:29.857 に答える