Sto cercando di analizzare sotto XML utilizzando Python ElementTree per l'output del prodotto come di seguito. Sto provando a scrivere moduli per i migliori elementi per stamparli. Tuttavia è un po 'complicato dato che l'elemento di categoria può o non può avere proprietà e un elemento di registro può avere all'interno un elemento di categoria.Python di analisi XML ricorsivo utilizzando ElementTree
ho fatto riferimento alla domanda precedente in questo argomento, ma non hanno costituiti da elementi annidati con lo stesso nome
My Code: http://pastebin.com/Fsv2Xzqf
work.xml:
<suite id="1" name="MainApplication">
<displayNameKey>my Application</displayNameKey>
<displayName>my Application</displayName>
<application id="2" name="Sub Application1">
<displayNameKey>sub Application1</displayNameKey>
<displayName>sub Application1</displayName>
<category id="2423" name="about">
<displayNameKey>subApp.about</displayNameKey>
<displayName>subApp.about</displayName>
<category id="2423" name="comms">
<displayNameKey>subApp.comms</displayNameKey>
<displayName>subApp.comms</displayName>
<property id="5909" name="copyright" type="string_property" width="40">
<value>2014</value>
</property>
<property id="5910" name="os" type="string_property" width="40">
<value>Linux 2.6.32-431.29.2.el6.x86_64</value>
</property>
</category>
<property id="5908" name="releaseNumber" type="string_property" width="40">
<value>9.1.0.3.0.54</value>
</property>
</category>
</application>
</suite>
uscita dovrebbe essere, come di seguito:
Suite: MainApplication
Application: Sub Application1
Category: about
property: releaseNumber | 9.1.0.3.0.54
category: comms
property: copyright | 2014
property: os | Linux 2.6.32-431.29.2.el6.x86_64
Qualsiasi suggerimento nella giusta direzione sarebbe di aiuto.
Dai anche un'occhiata a ['xmltodict'] (https://github.com/martinblech/xmltodict) che genera un dittato python per te. –