我的XML
文件没有标签,这使得解析不太友好。我正在尝试找到一个元素并更改它:
...
<dict>
<key>Arguments</key>
<dict>
<key>TestArchive</key
<string>testArchive.tar</string>
</dict>
....
</dict>
...
我试图做的是获取并更改"testArchive.tar"字符串,因为这个字符串可能每次都会更改,我使用 TestArchive 作为锚
点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]
您需要
在关键元素上使用getnext()
。这将得到下一个兄弟姐妹。
if item.text == "TestArchive":
name = item.getnext()
print name.text