2009-02-05 7 views

Respuesta

6

Depende del tamaño del documento xml. Pero tengo una buena experiencia tanto con MSXML como con su contraparte sajona.

Si el xml es grande (> 50 MB) o las consultas son pesadas (use algo de // para realizar el rastreo del sistema), espere algún tiempo de retraso. Pero de lo contrario es perfectamente factible.

En versiones posteriores, msxml está disponible como una unidad. En la versión 7 es necesario instalar una biblioteca de tipos:

  • biblioteca de tipos Ir al proyecto \ Import
  • Seleccione Microsoft XML, (la versión más alta se puede encontrar)
  • Seleccione Crear unidad para crear MSXML_TLB

puede utilizar MSXML_TLB para leer documentos XML, XSLT utilizar y realizar consultas 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

Gracias por su respuesta ... ¿Cómo instalo MSXML en Delphi? –

+0

Agregué un ejemplo en la respuesta. Espero que funcione. –

1

cuando me h Para tratar con archivos XML en Delphi siempre uso OmniXML, un componente que he estado usando durante años. Estoy totalmente feliz con eso, principalmente porque es liviano, fácil de usar y gratis.

Y funciona con XPath de una manera fácil también. Vale la pena intentarlo, espero que te ayude también.