Qual è il modo migliore per cercare documenti XML utilizzando XPath in Delphi7?XPath in Delphi7?
risposta
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;
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.
Grazie per la tua risposta ... Come faccio a "installare" MSXML in Delphi? –
Ho aggiunto un esempio nella risposta. Spero funzioni. –