Как вы анализируете вложенные теги XML с помощью python?

Пожалуйста, извините меня, если я использую неправильную терминологию, но вот что я пытаюсь сделать. Я пытаюсь извлечь атрибутивную и текстовую информацию из вложенных тегов, таких как псевдоним, платеж, сумма и т. д. Однако мой пример блока кода может извлекать информацию только из подэлементов в .

Как мне использовать elementtree, чтобы попытаться добраться до подэлементов моих подэлементов? Один раз, пожалуйста, извините мою терминологию, если я использую ее неправильно: **

  • Пример блока XML:

**

<root>
   <host name="comp1">
      <alias>smith_laptop</alias>
      <ipAddr>102.168.1.1</ipAddr>
      <owner>Mr_Smith</owner>
      <payment type="credit">
        <card type="Master Card"/>
        <amount>125.99</amount>
        <cardOwner name="John Smith"/>
        <expiration date="Oct 24"/>
      </payment>
   </host>

   <host name="comp2">
      <alias>matt_laptop</alias>
      <ipAddr>102.168.1.2</ipAddr>
      <owner>Mr_Mat</owner>
      <payment type="cash">
        <amount>100.00</amount>
      </payment>
   </host>
</root>

**

  • Фрагмент кода:

**

    import os
    from xml.etree import ElementTree as ET

    def main():

        rootElement = ET.parse("text.xml").getroot()

        for subelement in rootElement:
            print "Tag: ",subelement.tag
            print "Text: ",subelement.text
            print "Aribute:",subelement.attrib,"\n"
            print "Items:",subelement.items(),"\n"

    if __name__ == "__main__":
        main()

person user1052620    schedule 18.11.2011    source источник