ich arbeite seit einiger Zeit mit Lazarus und muss damit XML-Dateien in ein Programm einlesen und nach bestimmten Kriterien auswerten.
Aufbau der XML-Datei Siehe Anhang (Maschinen Log Daten):
Bisher lade ich diese Datei in eine Stringliste geladen und gehe diese Zeile für Zeile durch, aber wenn ich mehere Dokumente habe die etwas größer sind, dann dauert dies teilweise ewig. Deswegen suche ich nach einen Plan B

Ich muss hier ein Programm schreiben, welches diese Daten Auswerten muss
z.B will ich die Anzahl der schon vorhandenen Bauteile die schon gelogt wurden rausbekommen
- Suchen nach Knotenpunkt "<Placement_INFO>" & <Measure_INFO> und die Anzahl aller Knotenpunkte zählen
- Werte rausfiltern <Die_Name>
- Werte rausfiltern <Batch_ID>
- Werte rausfiltern <Multiup_X>
- Werte rausfiltern <Multiup_Y>
WEnn die XML - Datei nur einen Main - Knotenpunkt hat, dann gehts es so
var
i,iC:integer;
s:string;
TestXML:TXMLDocument;
TestNode:TDOMNode;
begin
ReadXMLFile(TestXML,'R:\LogCount\Test\Test.xml');
edanz.Caption:=TestXML.DocumentElement.ChildNodes.Count.ToString;
if Edit1.Caption <>'' then begin
TestNode:= TestXML.DocumentElement.FindNode(Edit1.Caption);//Schlüsselwort suchen
edanz1.Caption:=TestNode.FirstChild.NodeValue;
end;
Jetzt meine Frage: wie bekomme ich das über die ganze Liste hin?