Domanda

Qual è il modo migliore per la ricerca di documenti XML utilizzando XPath in Delphi7?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top