2009-02-05 5 views

risposta

6

Dipende dalla dimensione del documento xml. Ma ho una buona esperienza sia con MSXML che con la sua controparte sassone.

Se l'xml è di grandi dimensioni (> 50 MB) o le query sono pesanti (utilizzare alcuni // per eseguire la ricerca per indicizzazione del sistema), è necessario attendere un po 'di tempo. Ma è perfettamente fattibile.

Nelle versioni successive, msxml è disponibile come unità. Nella versione 7 è necessario installare una libreria di tipi:

  • libreria dei tipi Vai al progetto \ Import
  • Selezionare Microsoft XML, (la versione più alto che si può trovare)
  • Selezionare Crea unità per creare MSXML_TLB

È possibile utilizzare MSXML_TLB per leggere i documenti XML, XSLT utilizzare ed eseguire query XPath:

var 
    doc : IXMLDomDocument2; 
    list : IXMLDomNodeList; 
    node : IXMLDomNode; 
    i : Integer; 

begin 
    doc := CoDOMDocument.Create; 
    doc.load(xmlfilename); 

    list := doc.selectNodes(xpath); 
    for i := 0 to list.length-1 do begin 
    node := list.item[i]; 
    if node<>nil then 
     Memo1.Lines.Add(node.nodeName); 
    end; 
end; 
+0

Grazie per la tua risposta ... Come faccio a "installare" MSXML in Delphi? –

+0

Ho aggiunto un esempio nella risposta. Spero funzioni. –

1

quando mi h Per gestire i file XML in Delphi, io uso sempre lo OmniXML, un componente che uso da anni. Sono totalmente soddisfatto, soprattutto perché è leggero, facile da usare e gratuito.

E funziona anche con XPath in modo semplice. Vale la pena provare, spero che ti aiuti anche.