Domanda
Qual è il modo migliore per la ricerca di documenti XML utilizzando XPath in Delphi7?
Soluzione
E 'dipende dalle dimensioni del documento XML. Ma ho una buona esperienza sia con MSXML e la sua controparte sassone.
Se l'XML è di grandi dimensioni (> 50 MB) o le query sono pesanti (utilizzare alcuni // per rendere il vostro crawl sistema) aspettare qualche tempo di ritardo. Ma il resto è perfettamente fattibile.
Nelle versioni successive, msxml è disponibile come unità. Nella versione 7 è necessario installare una libreria di tipi:
- Vai alla libreria dei tipi di progetto \ Import
- Selezionare Microsoft XML, (la versione più alto si possono trovare)
- Selezionare Crea unità per creare MSXML_TLB
È possibile utilizzare MSXML_TLB per leggere i documenti XML, XSLT utilizzare ed eseguire le 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;
Altri suggerimenti
Quando ho a che fare con i file XML in Delphi Io uso sempre OmniXML , un componente ho usato per anni. Sono completamente soddisfatto, soprattutto perché è leggero, facile da usare e libero .
E funziona con XPath in modo semplice anche. Vale la pena di provare, spero che ti aiuta anche.