0

最初 : 私は新しい物乞いです。Pythonを使用しています..だから私を助けてください.私はPythonを使用してXMLファイルを読み込もうとしています. 私のxmlファイル名はrgpost.xmlです

<volume name="sp" type="span" operation="create">
    <driver>HDD1</driver>
</volume>

私のコード:

import xml.etree.ElementTree as ET
doc = ET.parse("rgpost.xml")
s = doc.find("volume")
print s.attrib["name"]

これを実行中にエラーが発生します:

sp:~# python volume_check.py volume  
Traceback (most recent call last):  
  File "volume_check.py", line 13, in <module>  
    print s.attrib["name"]  
AttributeError: 'NoneType' object has no attribute 'attrib'

前もって感謝します

4

2 に答える 2

3

ルートを取得すると、人生ははるかに簡単になります。

>>> import xml.etree.ElementTree as ET
>>> doc = ET.parse("rgpost.xml")
>>> root = doc.getroot() # <--- this is the new line
>>> root
<Element 'volume' at 0x1004d8f10>
>>> root.keys()
['operation', 'type', 'name']
>>> root.attrib["name"]
'sp'
>>> root.get("name")
'sp'
于 2012-10-21T12:39:49.207 に答える
1

volumeは XML ツリーのルートと見なされるため、実質的にはdoc.attrib['name'].

xml="""<volume name="sp" type="span" operation="create">
    <driver>HDD1</driver>
</volume>"""

import xml.etree.ElementTree as ET
doc = ET.fromstring(xml)
print doc
# <Element 'volume' at 0x26f1d50>
print doc.attrib['name']
于 2012-10-21T12:29:29.777 に答える