Einzelnen Beitrag anzeigen

aegidos

Registriert seit: 30. Okt 2007
40 Beiträge
 
Delphi 2007 Professional
 
#3

Re: XML Find Node with Attribute

  Alt 20. Mär 2010, 16:30
Hallo sx2008,
Danke für die schnelle Antwort.

Dann versuche ich mal mein Glück mit SelectNodes.
Eine Frage habe ich noch zu deinem Code:
Delphi-Quellcode:
// Knoten mit XPath selektieren
//hier wird doch eine KOPIE von rootelement."KnotenUnterMenge" angelegt oder?
nodelist := rootelement.SelectNodes('//data[@cname="123"]');
for i := 0 to nodelist.count-1 do // über alle Knoten
begin
  node := nodelist.Item[i];

//hier fügst du in node ein neues Attribut ein, wenn ich nun weiter unten
//XMLDocumentDataGrid.SaveToFile(FileName); mache dann ist dort mein eingefügtes
//Attribut nicht eingefügt oder?
  (node as IXMLElement).SetAttribute('idx', inttoStr(i));
end;
Muss ich dann vielleicht so vorgehen:
rootelement.SelectNodes('//data[@cname="123"]').SetAttribute('idx', inttoStr(i)); Aber geht das SetAttribute überhaupt anschließend an Select Nodes, weil es handelt sich ja um eine Nodelist und keinen einzelnen Node!??
Wenns den Knoten gibt füge ich einen aktuellen Wert als Attribut ein und wenns den Knoten nicht gibt erzeuge Ich ihn neu.
Klingt gar nicht so kompliziert muss ich mal testen und melde mich dann wieder.

Schöne Grüße
Andreas
  Mit Zitat antworten Zitat