Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Wie bestimmten Knoten aus XML-Datei entfernen?

  Alt 23. Jun 2005, 07:18
Hallo ToKo,

Ausgabe1 muss bei dir leer sein, da deine Elemente keine Textknoten besitzen. Das Löschen mit xmlDoc.removeChild() dürfte nicht funktionieren, da die Methode nur einen direkt untergeordneten Knoten entfernen kann. Mach es besser so:

SelectedNode.parentNode.removeChild(SelectedNode); Deine XPATH Ausdrücke kannst du noch weiter vereinfachen, da deine Knoten je nach Typ immer auf der selben Ebene angesiedelt sind:

Delphi-Quellcode:
function TfrmMain.DiskNode(diskID: integer): IXMLDOMNode;
var
  xp: string;
begin
  if Assigned(xmlDoc) then begin
    xp := Format('//cd[@id="%d"]', [diskID]);
    Result := xmlDoc.selectSingleNode(xp);
  end
  else Result := nil;
end;

function TfrmMain.TrackNode(diskNode: IXMLDOMNode; trackID: integer): IXMLDOMNode;
var
  xp: string;
begin
  if Assigned(diskNode) then begin
    xp := Format('track[@id="%d"]', [id]);
    Result := diskNode.selectSingleNode(xp);
  end
  else Result := nil;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat