Python:使用 ElementTree 访问 XML 中的下一个元素

标签 python xml elementtree

我的XML文件没有标签,解析起来不太友好。我试图找到一个元素并更改它:

...        
    <dict>
        <key>Arguments</key>
            <dict>
                <key>TestArchive</key
                <string>testArchive.tar</string>
            </dict>
            ....
    </dict>
...

我想做的是获取和更改“testArchive.tar”字符串,因为这个字符串每次都可能改变,所以我使用 TestArchive 作为 anchor

from xml.etree import ElementTree
with open ('file.xml', 'rt') as f:
    tree = ElementTree.parse(f)

for item in tree.iter():
    if item.text == "TestArchive":
         ....

如何获取下一个元素?在我的情况下,哪个应该是我正在寻找的项目?

最佳答案

我能找到的唯一方法是使用 enumerate() 并将父级索引为列表。在你的情况下:

items = list(tree.iter())
for i, item in enumerate(items):
    if item.text == "TestArchive":
         next_item = items[i + 1]

关于Python:使用 ElementTree 访问 XML 中的下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41559711/

相关文章:

xml - 在 Apache Xindice 中不运行服务器的情况下连接到数据库

java - Struts2:多个提交按钮

javascript - 使用jquery获取xml文件的外部xml结构到字符串

python - 需要帮助将子元素中的文本替换为 XML 中多个子元素中的文本

python - 搜索特定 XML 元素属性值

python - 在 Python 中使用 OpenCV 从图像中裁剪人脸

python - Flask 静态文件 Cache-Control

python - 使用描述符实现绑定(bind)方法

Python:使用 url 从谷歌驱动器下载文件

python - 在 Python/元素树中从 300MG Xml 中删除元素