-1

我有以下 XML:

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

我的目标是解析树,并更改特定子元素中的数据,在这种情况下<subelement2>。因此,在当前存在 string 的地方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,我该如何更改它的文本?

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

4

1 回答 1

1

只需分配给text相关元素的属性:

el = doc.find('.//subelement2')
el.text += ' + my new string of text'
于 2016-08-16T18:10:58.333 回答