Ach sooo.
Dein "einfach mal so rausgetippt" ist doch schon deine Lösung: Mittels XPath den gewünschten Knoten finden. Im Beispiel dass dein Dokument so aussieht
Code:
<Asys>
<Product>
<Datas>
<DATA name="val_masksizex" minv="1" maxv="2" value="460000" />
<DATA name="val_masksizey" minv="1" maxv="2" value="460000" />
<DATA name="val_maxdistanceerror" minv="1" maxv="2" value="180" />
<DATA name="val_operationmode" minv="1" maxv="2" value="0" />
</Datas>
</Product>
</Asys>
änderst du hiermit den Wert eines gewünschten Knotens einfach ab:
Delphi-Quellcode:
procedure TForm8.Button1Click(Sender: TObject);
var
xmlDoc: IXMLDocument;
rootNode: IXMLNode;
wantedNode: IXMLNode;
begin
xmlDoc := LoadXMLData(Memo1.Text);
rootNode := xmlDoc.DocumentElement;
rootNode := TXpathHelper.SelectNode(rootNode, '/Asys/Product/Datas');
wantedNode := TXPathHelper.SelectNode(rootNode, './DATA[@name="val_operationmode"]');
wantedNode.Attributes['val_operationMode'] := '-99';
memo2.Text := xmlDoc.DocumentElement.XML;
end;
Ich war so frei den "TXPathHelper"
von hier zu nehmen