Разбор XML с помощью Python Minidom

Я пытаюсь html проанализировать файл XML и получить содержимое тега для печати в списке. Ниже приведен XML-файл:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.caltesting.mt.caaspp</groupId>
  <artifactId>mt-web</artifactId>
  <version>1.0.365-20150828.172422-3</version>
  <versioning>
    <latest>1.0.373-SNAPSHOT</latest>
    <versions>
      <version>1.0.365-SNAPSHOT</version>
      <version>1.0.366-SNAPSHOT</version>
      <version>1.0.367-SNAPSHOT</version>
      <version>1.0.368-SNAPSHOT</version>
      <version>1.0.369-SNAPSHOT</version>
      <version>1.0.370-SNAPSHOT</version>
      <version>1.0.372-SNAPSHOT</version>
      <version>1.0.373-SNAPSHOT</version>
    </versions>
    <lastUpdated>20150925021611</lastUpdated>
  </versioning>
</metadata>

Мой код Python для анализа и печати номеров версий (1.0.3XX) в теге версии с тегом версии.

from xml.dom import minidom
xmldoc = minidom.parse('/Users/Downloads/metadata.xml')
itemlist = xmldoc.getElementsByTagName('version')
for s in itemlist:
    print(s)

Спасибо!!


person Deepak Thota    schedule 28.09.2015    source источник


Ответы (1)


Если я вас правильно понял, вы можете просто создать список версий с помощью понимание списка:

versions = [version[0].firstChild.nodeValue
            for version in xmldoc.getElementsByTagName('version')]

Смотрите также:

person alecxe    schedule 28.09.2015
comment
Когда я использую одну строку кода, которую вы упомянули здесь, я получаю ошибку атрибута: AttributeError: экземпляр элемента не имеет атрибута «getitem», но я смог использовать версию [0].firstChild.nodeValue немного и получить решение для моей проблемы спасибо :) - person Deepak Thota; 29.09.2015