Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
@yuyu: Für Grundlagen von Python gibt es in der Python-Dokumentation ein Tutorial, welches Du durcharbeiten kannst.
Wenn die Grundlagen da sind, könntest Du mal in die Standardbibliothek schauen, was es da für XML an Modulen gibt. Insbesondere `xml.etree`.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
das ist nur ein kleines Beispiel, natürlich muss das so aussehen:
<data>
<Name>Max</Name>
<Age>23</Age>
<Number>1234567</Number>
<Name>Jenny</Name>
<Age>19</Age>
<Number>7654321</Number>
<\data>
Hoffnung besteht ja immer. Und natürlich kann ich mir 3 Tage frei nehmen, und ein 100seitiges Traktat über Dutzende formen von XML Dokumenten, von denen ich hoffe, dass sie deinem Problem nah kommen, und deren programmatische Behandlung, verfassen.
Alternativ könntest du deine Hausaufgaben machen, und konkrete, gültige Dokumente zeigen, damit man beurteilen kann, ob und wie das geht. Und welchen Code du schon hast.
Das ganze kostet dann alle Beteiligten weniger Zeit & nerven.
from xml.etree import ElementTree
source = """<data>
<Name>Max</Name>
<Age>23</Age>
<Number>1234567</Number>
<Name>Jenny</Name>
<Age>19</Age>
<Number>7654321</Number>
</data>"""
root = ElementTree.fromstring(source)
for node in root:
print(f'{node.tag}: {node.text}')
# Bei Python < 3.6 dies nehmen:
# print('{0.tag}: {0.text}'.format(node))
Wie meine Vorposter schon schrieben, bräuchte man für eine genauere Hilfe schon die tatsächliche Struktur der XML-Daten. Aber vielleicht reicht das Beispiel ja schon.
@yuyu: Ja lassen sie sich. Lies doch einfach mal die Dokumentation zum `ElementTree`-Modul. Die fängt mit einem Tutorial an.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
@yuyu: findall() unterstützt auch XPath-Syntax. Das ist für komplexere Abfragen meist besser geeignet, anstatt den Baum händisch zu durchlaufen. Im schon erwähnten Tutorial findest du die entsprechende Stelle hier: https://docs.python.org/3/library/xml.e ... th-support
import xml.etree.ElementTree as ET
tree = ET.parse('c:/input.xml')
for elem in tree.iter():
if elem.tag == 'Name':
print (elem.text)
if elem.tag == 'Age':
print (elem.text)