更改etree Element对象中的现有文本

时间:2016-08-16 17:50:51

标签: python elementtree xml.etree

我有以下XML:

<root>
    <element>
        <subelement1>
            subelement1 text
        </subelement1>
        <subelement2>
            subelement2 text
        </subelement2>
    </element>
</root>

我的目标是解析树,并仅修改 特定子元素中的数据,在本例中为<subelement2>。所以,目前存在字符串subelement2 text ,我希望能够将数据附加到该数据,以便生成的XML如下所示:

<root>
    <element>
       <subelement1>
                subelement1 text
       </subelement1>
       <subelement2>
                subelement2 text + my new string of text
       </subelement2>
    </element>
</root>

注意,subelement2 text现已成为subelement2 text + my new string of text

我已经可以找到解析文本并找到subelement2,如下所示:

import xml.etree.ElementTree as ET
doc = ET.fromstring('''
<root>
    <element>
        <subelement1>
            subelement1 text
        </subelement1>
        <subelement2>
            subelement2 text
        </subelement2>
    </element>
</root>
''')
el = doc.find('.//subelement2')

...但是,一旦我将Element对象分配给el,我该如何更改其文本?

我正在寻求帮助理解,是用于改变子元素中现有文本的一般功能或方法,如上例所示。

1 个答案:

答案 0 :(得分:1)

只需指定相关元素的AppBarLayout属性:

text