PDA

Ver la Versión Completa : Busquedas en XML


jamlaboira
07-04-2011, 11:33:38
Hola a tod@s.., estoy trabajando un fichero XML con Delphi y TXMLDocument.

Tengo un problema, a ver si alguien me puede ayudar. Necesito buscar un determinado nodo en el XML, pero no puedo hacer un recorrido incremental para encontrarlo ya que el documento XML tiene algo así como veintemil lineas.

Pongo un ejemplo:
<producto num="1">
<codigo_producto>01455</codigo_producto>
<part_number>C13S</part_number>
<ean>010343</ean>
<Stock>0</Stock>
<peso>0.4</peso>
<nombre>Producto ejemplo</nombre>
</producto>

Así con unos 12000 productos, y necesito acceder a la etiqueta <codigo_producto>. Por ejemplo, en un momento dado necesito acceder al producto con <codigo_producto>23445</codigo_producto> para así obtener tb. el stock, peso y demás, pero no puedo hacer un recorrido secuencial debido al gran tamaño del XML y del tiempo que usa en cada busqueda.

¿Una ayudita...? Gracias...!!

duilioisola
07-04-2011, 12:14:46
Ayer me llegó este link (http://delphi.about.com/b/2011/04/05/select-xml-nodes-into-ixmlnodelist-using-xpath-in-xmldom-pas.htm) a mi twitter:
Habla justamente de lo que necesitas.

De lo contrario se me ocurre cargar el XML en una tabla temporal o una tabla en memoria y trabajar de esa manera.

jamlaboira
07-04-2011, 12:19:21
Muchas gracias, le voy a dar un vistazo a ver si me aclaro...