在 python 中现有 XML 文件中特定但未定义的位置之后添加新的 XML 元素

问题描述 投票:0回答:0

我想将一个新的 XML 元素添加到现有的 XML 文件中,问题是位置因文件而异,但我想始终将我的新元素插入特定元素的最后一个标签后面。所以假设我在文件中有 X 个

<Data>
标签,在最后一个
<Data>
标签之后我想创建并插入一个带有
<Example>
标签的新XML 元素。

我尝试了多种方法,但阅读文档并询问 ChatGTP 只是给了我属性错误,这是我到目前为止的代码。

import xml.etree.ElementTree as ET


xml_file = "example.xml"


tree = ET.parse(xml_file)
root = tree.getroot()

LastDataTag = root.findall('.//Data')[-1]

new_element = ET.Element('Example')

root.insert(LastDataTag + 1, new_element)

我看到的问题是我没有得到一个整数作为 findall 的返回形式,而是像这样在文件中得到一个位置

<Element 'Data' at 0x000001E99BE7A610>
我知道这显然不起作用,因为 python 不能添加 +1 因为它不是整数但是有没有一种方法可以将其转换为整数,以便您可以通过这种方式使用它,或者是否有另一种方法可以做到这一点或获取最后一个标签的索引?我看过的所有其他帖子都是用插入方法做的,但它们都有一个固定的索引号,没有改变。

提前致谢!

python xml elementtree
© www.soinside.com 2019 - 2024. All rights reserved.