Hallo zusammen,
nachdem ich jetzt schon einiges an Suchergebnissen durchgearbeitet habe aber auf keine Lösung gekommen bin die funktioniert hier mein Problem.
Ich möchte aus einer
XML Datei bei folgendem Node die Attribute auslesen, im speziellem das Attribut Boardname.
Code:
?
xml version="1.0" encoding="UTF-16"?>
<PCBData RecipeName="E1_Linie2\HM\HM Fest\HM Fest#1\HI_1384009-06" GenerateTraceData="True" TraceRequiresPCBBarcode="False" SiplaceProOID="28342960" BoardName="test\HI_1384009-06" SetupName="E1_Linie2\HM\HM Fest\HM Fest#1" LineName="E1_Linie2"
versucht hab ichs unter anderem mit folgendem Code, da bekomm ich aber nichtmal ein Node als gefunden zurück mynode bleibt also bei nil
Delphi-Quellcode:
XMLdocument1.LoadFromFile(einstellungen.Pfad_Linecontrol);
XMLdocument1.Active:=true;
mynode:=XMLdocument1.ChildNodes.FindNode(Maschinen_Daten[ID].key);
if mynode<>nil then begin;
result:=vartostr(mynode.Attributes[Maschinen_Daten[ID].sektion]);
end;
XMLdocument1.Active:=false;
Bei den Maschinen Daten sind key und sektion noch so benannt weil früher ini-Strukturen gelesen wurden
Der Record wird an anderer Stelle gefüttert mit
key=PCBData
Sektion=BoardName
Was ich auch schon versucht habe aber ohne den Attribtu lesen zu können:
Delphi-Quellcode:
if rootnode.ChildNodes[i].NodeName=suchnode then
if rootnode.ChildNodes[i].HasAttribute(suchattribut) then begin;
if rootnode.ChildNodes[i].attributes[suchattribut]<>NULL then
begin;
a:=vartostr(rootnode.ChildNodes[i].Attributes[suchattribut]);
break;
end;
end;
Hat jemand eine Lösung, evtl eine kleine Funktion wo mir hilft?
Gruß Matthias