mein erster Post hier, ich hoffe ich mache alles richtig...
Mein Problem: Ich habe eine recht große XML Datei die eine Bauteil-liste, aber auch viele für mich nicht relevante Positionen enthält.
Ich möchte diese jetzt mittels eines python scripts durchsuchen und abspeichern.
Die ersten Schritte laufen schon, aber ich bekomme es nicht hin innerhalb eines childs nach einem Wert zu suchen.
Hier die xml:
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<Teil id="id_1">
<Part_number>11111</Part_number>
<Description>Schraube</Description>
</Teil>
<Teil id="id_2">
<Part_number>11112</Part_number>
<Description>Mutter</Description>
</Teil>
<Baugruppe id="id_3">
<Part_number>11113</Part_number>
<Description>Irgendwas</Description>
</Baugruppe>
<Baugruppe id="id_4">
<Part_number>11114</Part_number>
<Description>Ganzwasanderes</Description>
</Baugruppe>
</root>
Code: Alles auswählen
from xml.etree import ElementTree
data = 'path/to/Bauteile.xml'
save = 'path/to/output'
with open(data, 'rt') as f:
tree = ElementTree.parse(f)
fobj = open(save, 'w')
Subgruppen = ['Teil', 'Baugruppe']
for n in Subgruppen:
for node in tree.findall(n):
id = node.attrib.get('id')
for path in [ './/Part_number']:
node = tree.find(path)
Sachnummer = node.text
for path in [ './/Description']:
node = tree.find(path)
Bezeichnung = node.text
fobj.write(n + ';' + id + ';' + Sachnummer + ';' + Bezeichnung + ';' + '\n')
Und was da stehen sollte:Teil id_1 11111 Schraube
Teil id_2 11111 Schraube
Baugruppe id_3 11111 Schraube
Baugruppe id_4 11111 Schraube
Ich finde also die richtige ID, bin dann aber nicht in der Lage die restlichen Teile innerhalb dieses Child's durchzuführen.Teil id_1 11111 Schraube
Teil id_2 11112 Mutter
Baugruppe id_3 11113 Irgendwas
Baugruppe id_4 11114 Ganzwasanderes
Vielen Dank für die Hilfe!
Alfons