Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

xml node brisanje

[es] :: Pascal / Delphi / Kylix :: xml node brisanje

[ Pregleda: 1630 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon xml node brisanje24.07.2014. u 12:25 - pre 117 meseci
Kako obrisati cijeli node u xml-u?

Npr. imam ovakav xml

Code:
<Dokumenti>
<Dokument>
<ID>123456</ID>
<Ime>Nekoime</Ime>
</Dokument>
<Dokument>
<ID>2344</ID>
<Ime>Nekoime2</Ime>
</Dokument>
</Dokumenti>


i želim obrisati node <Dokument> gdje je <ID>123456

Hvala.
F
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: xml node brisanje24.07.2014. u 13:11 - pre 117 meseci
Code:

{$APPTYPE CONSOLE}

uses
  Winapi.ActiveX, XML.XMLDoc, XML.XMLIntf;

const
  INPUT_XML_STRING: String = '<Dokumenti><Dokument><ID>123456</ID><Ime>Nekoime</Ime></Dokument><Dokument><ID>2344</ID><Ime>Nekoime2</Ime></Dokument></Dokumenti>';

function DeleteDocumentNode(const AXML: IXMLDocument; const AID: Integer): Boolean;
var
  node, id_node: IXMLNode;
begin
  result := FALSE;

  node := AXML.DocumentElement.ChildNodes.First;
  while Assigned(node) do
  begin
    if node.NodeName = 'Dokument' then
    begin
      id_node := node.ChildNodes.FindNode('ID');
      if (Assigned(id_node)) and
         (id_node.NodeValue = AID) then
      begin
        AXML.DocumentElement.ChildNodes.Remove(node);
        result := TRUE;
        Break;
      end;
    end;
    node := node.NextSibling;
  end;
end;

var
  xml: IXMLDocument;
  output_string: String;
begin
  CoInitialize(nil);
  try
    xml := LoadXMLData(INPUT_XML_STRING);
    xml.Active := TRUE;
    try
      DeleteDocumentNode(xml, 123456);
      xml.SaveToXML(output_string);
    finally
      xml.Active := FALSE;
    end;
    WriteLn(output_string);
  finally
    CoUninitialize;
  end;
  ReadLn;
end.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: xml node brisanje24.07.2014. u 13:56 - pre 117 meseci
Hvala reiser!
F
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: xml node brisanje

[ Pregleda: 1630 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.