TXMLBrowser - Exemples

TXMLBrowser = class (TObject)Interface de TXMLBrowserExemples de TXMLBrowser
var i : Integer;
var xmlData : String = '<RootNode>'
                     + ' <Node1>'
                     + '  <Node1_1>TEST1-1</Node1_1>'
                     + '  <Node1_2>TEST1-2</Node1_2>'
                     + ' </Node1>'
                     + ' <Node2 id="123">TEST2-123</Node2>'
                     + ' <Node2 id="124">TEST2-124</Node2>'
                     + ' <Node2 id="125" type="test">TEST2-125</Node2>'
                     + ' <Node3>TEST3</Node3>'
                     + '</RootNode>';

var browser:=TXMLBrowser.Create(xmlData);

browser.ToChild('Node1/Node1_2');  // on se positionne sur le premier noeud 'Node1', sur le premier sous-noeud 'Node1-2'
PrintLn(browser.NodeText);         // => renvoie 'TEST1-2'
browser.ToRoot;                    // on retourne au noeud racine 'RootNode'

// On parcourt tous les sous-noeuds 'Node2' dont l'attribut 'type' ne vaut pas 'test'
for i:=0 to browser.ChildCount-1 do begin
   if LowerCase(browser.ChildNames[i])='node2' then begin
      browser.ToChildByIndex(i);                   // on se positionne sur le noeud
      if browser.Attributes['type']<>'test' then
         PrintLn(browser.NodeText);                // => renvoie 'TEST2-123' puis 'TEST2-124'
      browser.ToParent;                            // on retourne sur le noeud parent
   end;
end;

browser.Path:='RootNode/Node3';
if browser.NodeExists then
   PrintLn(browser.NodeText);      // => renvoie 'TEST3'