2017-01-10 3 views
0

У моего XML файла нет тегов, что делает синтаксический разбор не очень дружелюбным. Я пытаюсь найти элемент и изменить его:Python: доступ к следующему элементу в XML с помощью ElementTree

...   
    <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

Смежные вопросы