2011-04-04 35 views
3

我想更改現有元素的屬性,而不僅僅是值,但也要添加/刪除/更改鍵。例如,如何更改ElementTree屬性鍵?

<frame_geometry name="border" has_title="false"/> 

我想補充:rounded_top_left =「5」等...
正在修改後創作元素屬性鍵可能嗎?

如果不是這樣,也許我可以使用一種解決方法,比如將所有元素的屬性存儲在臨時字典中,然後從該+/-中創建一個新元素進行任何所需更改?
然而,這種解決方案並不理想,因爲我需要修改的元素也有幾個子元素...

回答

4

我想通了。很簡單。
添加新的屬性:

element.attrib['newkey'] = 'newvalue' 

將添加到現有元素的屬性。
要刪除現有的屬性:

del element.attrib['unwanted_key'] 

至於修改現有的鍵,我仍然不知道這是可能的,但與添加/刪除就可以輕鬆解決。

-1

我已經通過我希望的是.rename風格功能

For element in XMLData: 
    if element.tag = Searching: 
     element.tag = "NewTag" 
     #Now its element.NewTag 
元素迭代取得了成功