XML Auslesen und in Graph speichern
Verfasst: Montag 17. Januar 2011, 15:58
Hallo,
bin Python-Neuling und würd mich freuen wenn ihr mir bei meinem Problem weiterhelfen könntet.
Ich will einen Graphen aus einer XML erzeugen.
XML-Beispiel (nur die childs):
Es sollen also alle nodes (a und x) als Knoten im Graphen dienen und immer dann wenn die id als child in einem anderen node vorkommt existiert eine Verbindung (Edge), also eine von Node a zu Node x. Das hinzufügen der nodes bekomme ich hin, aber die Verbindung dann nicht.
Es soll halt bei jedem Knoten nachgesehen werden welche Childs existieren und dann soll eine Kante zu diesen im Graph erstellt werden. also Quasi
gr.add_edge((a, x)). Ich weiß nicht wie ich die Nodes die einmal im Graphen sind direkt anwählen kann um dann die Edge hinzuzufügen.
bin Python-Neuling und würd mich freuen wenn ihr mir bei meinem Problem weiterhelfen könntet.
Ich will einen Graphen aus einer XML erzeugen.
XML-Beispiel (nur die childs):
Code: Alles auswählen
<node id="a" type="root">
<child id="x"/>
<child id="y"/>
</node>
<node id="x" type="con" wert="100">
<child id="usw"/>
</con>
Es soll halt bei jedem Knoten nachgesehen werden welche Childs existieren und dann soll eine Kante zu diesen im Graph erstellt werden. also Quasi
gr.add_edge((a, x)). Ich weiß nicht wie ich die Nodes die einmal im Graphen sind direkt anwählen kann um dann die Edge hinzuzufügen.
Code: Alles auswählen
import xml.etree.ElementTree as ET
from pygraph.classes.digraph import digraph
tree = ET.parse("sample.xml")
#Initialize Directed Graph
gr = digraph()
#Add all nodes to graph
for child in root:
gr.add_node(child)
#Add all edges
#TODO