2014-02-24 51 views
1

我真的是python中的新手。我需要在現有的xml文件中編寫一些字符串。使用python更改現有XML文件中的元素值

我的XML strutcure是這樣的:

<koza> 
     <colors> 
     <color name="one" **value="#00FF00"** /> 
     <color name="two" value="#a12345" /> 
     <color name="three" value="#c2c145" /> 
     <color name="four" value="#315a25" /> 
     ... 
     </colors> 
    </koza> 

我只需要在一個行,例如更改值,在第一線的變化 「#00FF00」 到 「#FFFFFF」。

有沒有一個簡單的代碼來做到這一點?

謝謝!

+0

順便說一下,您如何定義「第一行」至關重要。你認爲它是因爲它的顏色是「一」嗎?因爲它是原始值'#00FF00'的顏色? ''元素的第一個孩子?還有別的嗎? –

回答

1
import lxml.etree 

# input 
doc = lxml.etree.parse('input_file.xml')) 

# modification 
for el in doc.xpath("//color[@name='one']"): 
    el.attrib['value'] = '#FFFFFFFF' 

# output 
open('output_file.xml', 'w').write(lxml.etree.tostring(doc)) 
相關問題