2017-01-10 79 views
0

我的XML文件没有标签,这使得解析不那么友好。我试图找到一个元素,并改变它:Python:使用ElementTree访问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": 
     .... 

如何获取下一个元素?在我的情况下应该是我正在寻找的物品?

回答

0

您需要在您的关键元素上使用getnext()。这会得到下一个兄弟姐妹。

if item.text == "TestArchive": 
    name = item.getnext() 
    print name.text 
+0

当我做'如果item.text ==?“TestArchive:item.getnext()' - 元素没有属性 “GETNEXT” –

+0

为什么你要比较的文字你有'item',去' item.getnext()'如果条件为真 – Soviut

+0

我已经添加了一个代码示例 – Soviut

相关问题