Hallo
Ich hab folgende Ausschnitt aus einer
XML-Datei:
Code:
<BuilderList>
<Set LineNo="1">
<Pname>KP_R02</Pname>
<Count>3</Count>
<Program>KP</Program>
<PInsertion>100,200,300</PInsertion>
</Set>
<Set LineNo="2">
<Pname>KP_R02</Pname>
<Count>2</Count>
<Program>KP</Program>
<PInsertion>0,0,0</PInsertion>
</Set>
<Set LineNo="3">
<Pname>KP_R01</Pname>
<Count>1</Count>
<Program>KP</Program>
<PInsertion>0,0,0</PInsertion>
</Set>
Ich bin dabei das Attribute "PInsertion" der jeweiligen <Set LineNo="#"> zu ändern.
Beim ersten habe ich es geschafft das Attribute zu finden und zu ändern:
Delphi-Quellcode:
if aapp <> nil then
begin
aapp := aapp.ChildNodes.FindNode('BuilderList');
end;
if aapp <> nil then
begin
aapp := aapp.ChildNodes.FindNode('Set');
end;
if aapp <> nil then
begin
aapp := aapp.ChildNodes.FindNode('PInsertion');
end;
if aapp <> nil then
begin
aapp.text:= IntToStr(varx)+','+IntToStr(vary)+','+IntToStr(varz);
end;
Nun würd ich gern wissen warum ich es nicht bei den anderen <Set LineNo="2"> und Set LineNo="3">
mit dem folgenden code nicht schaffe. Ich hoffe einer von euch hat die Lösung oder entdeckt meinen fehler
Delphi-Quellcode:
if aapp <> nil then
begin
aapp := aapp.ChildNodes.FindNode('BuilderList');
end;
if aapp <> nil then
begin
aapp := aapp.ChildNodes.FindNode('Set');
end;
if aapp <> nil then
begin
aapp := aapp.AttributeNodes.FindNode('LineNo="2"');
end;
aapp.AttributeNodes.
if aapp <> nil then
begin
aapp := aapp.ChildNodes.FindNode('PInsertion');
end;
if aapp <> nil then
begin
aapp.text:= IntToStr(varx)+','+IntToStr(vary)+','+IntToStr(varz);
end;
Danke schon mal im Vorraus