在Python中使用ElementTree解析XML文件。使用ElementTree解析XML Python
以下是文件:
<?xml version='1.0' encoding='utf-8'?>
<Device fqdm="DESKTOP-4OB3072">
<IP>192.168.203.1</IP>
<MAC>00:00:00:00:00:00</MAC>
</Device>
我收到錯誤(下)試圖解析文件和檢索「fqdm」的屬性的值時。
「xml.etree.ElementTree.ParseError:垃圾文檔元素之後:第2行,列90」
這裏是解析代碼(請忽略笨文件處理,它將被改變):
with open('received_file.xml', 'a+') as f:
while True:
data = conn.recv(BUFFER_SIZE)
print data
if not data:
f.close()
break
f.write(data)
f.close()
g = open('received_file.xml', 'r+')
tree = ET.parse(g)
root = tree.getroot()
print root
test = root.find('./Device').attrib['fqdm']
print test
sock.close()
這似乎並沒有做到這一點,我確信XML是有效的......許多其他帖子表明,沒有根元素。這是什麼拋出錯誤? –
如果你打印(root)'',你會看到類似這樣的內容:'''。所以,我認爲''Device''是根元素。 –
GLR
正確我已經檢查過。它仍然拋出那個垃圾錯誤。我可以把它作爲另一個元素,但我寧願它是一個屬性! –