通过python

时间:2018-04-25 14:23:06

标签: python xml attributes

我有以下XML文件,其中包含以下信息。

<PHYSICAL_TLINE>
    <Traces general_diff="0" z_array="0" s_array="0" w_array="0" etch_factor="0.35" TS_track2track="0" TS_DQS="0" TW_DQS="0" TS_byte2dqs="0" TS_byte2byte="0" TS_DQ="0" TW_DQ="0" dsl_offset="0" D="20" TS="7" TW="5"/>
<PHYSICAL_TLINE>

有没有办法通过python设置这些元素的值?例如,如果我想将s_array的值更改为5而不是0?。 我知道有xml.etree set命令,但我不太确定如何通过python在子级中设置这些属性的值。

2 个答案:

答案 0 :(得分:2)

child.attrib["s_array"] = '0'

假设孩子是<Traces/>节点。

修改
0需要是一个字符串

答案 1 :(得分:1)

此文档可能对您有所帮助: https://docs.python.org/2/library/xml.etree.elementtree.html

注19.7.1.4。修改XML文件

修改这样的代码应该可以达到预期的效果:

for rank in root.iter('rank')
    rank.set('updated', 'yes')
tree.write('output.xml')