我已經編寫了一個Python腳本來創建一些XML,但是我沒有找到編輯Python中標題的方法。使用Python編輯XML標題
基本上,而不必將此作爲我的標題:
<?xml version="1.0" ?>
我需要這樣的:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
我看着這是盡我所能,卻發現沒有辦法添加獨立來自Python內部的狀態。所以我認爲我必須在文件創建完成後重新查看文件,然後替換文本。我在幾個地方讀過,我應該遠離使用readlines(),因爲它可能會破壞XML格式。
目前我的代碼來做到這一點 - 這是我從另一個職位#1關於使用Python編輯XML得到了 - 是:
doc = parse('file.xml')
elem = doc.find('xml version="1.0"')
elem.text = 'xml version="1.0" encoding="UTF-8" standalone="no"'
這爲我提供了一個KeyError異常。我試圖調試它無濟於事,這導致我相信也許XML標題並不打算以這種方式進行編輯。或者我的代碼錯了。
如果有人好奇(或奇蹟般地知道如何將獨立狀態到Python代碼),這裏是我的代碼寫的xml文件:
with open('file.xml', 'w') as f:
f.write(doc.toprettyxml(indent=' '))
有些人不喜歡「toprettyxml」,但與我相對基本的水平,這似乎是最好的選擇。
無論如何,如果有人能提供一些建議或見解,我將非常感激。
你在使用API,什麼Python版本? –
@MartijnPieters Python 2.7.3和我正在使用IDLE。謝謝。 –
IDLE是一個IDE,不是XML API。您是否使用['xml.etree.ElementTree'庫](http://docs.python.org/2/library/xml.etree.elementtree.html)? –