Frage

Umgebung: Windows, Python, WXPython und Element Tree als XML -Parser.

Ich entwickle allein einen Stand, in dem es das XML liest und einen Baum erstellt. Meine Anwendung liest den XML und erstellt Baum, aber wenn sich XML beim nächsten Mal ändert (wenn die Tiefe von XML zunimmt- ich meine, wenn zwei untergeordnete Elemente hinzugefügt werden). Anwendung kann nicht lesen (Logik fällt aus :()

Für z. Bitte lassen Sie mich wissen, wie Sie XML lesen, dessen Tiefe dynamisch ist.

War es hilfreich?

Lösung

Sie sollten rekursive Anrufe verwenden, so etwas eher wie:

def recurse_tree(node):
    tree = {}
    for element in node:
        name = element.get('name')
        tree[name] = recurse_tree(element)
    if tree:
        return tree
    else:
        return 'No children.'

Nicht alle Ihre Elemente hatten 'Name' Attribute. So müssen Sie dies an die genaue Datenstruktur anpassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top