使用python更改现有XML文件的元素值

时间:2014-02-24 21:46:36

标签: 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”。

是否有一个简单的代码来执行此操作?

谢谢!

1 个答案:

答案 0 :(得分: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))