estrazione dati xml con Mysql | SQL & MySQL

Topic: Pubblico - Composto da 3 Posts di 2 Utenti.

13 Ottobre, 2011 14:05 #1
Z_E_P
Utente

Z_E_P
Registrato: Oct, 2011
Posts: 2
Offline

Ciao a tutti.

Ho un problema:
Devo estrarre il valori di un attributo XML tramite una query su DB Mysql.

Esempio:

select id, ExtractValue(XML,'//ATTRIBUTE[@NAME="INST_ID"]') from INST where id in(...)
and status='E';

Ho provato ad inserire l'intero percorso ma il risultato e' sempre quello. Mi restituisce un campo vuoto.

Questo persorso invece funziona

ExtractValue(XML_2,'//parameter[@id="JOB_ID"]')

Quello che vorrei sapere è se ho scritto bene il percorso-xml all'interno della funzione mysql ExtractValue().
Perchè, se cerco il parametro funziona, quando invece cerco gli attributi, non mi restituisce niente.(output nessuno errore)ma il campo relativo che dovrebbe riportare il valore dell'attibuto è vuoto.
Sbaglio io, o non è del tutto performante la funzione?
In fin dei conti è questa la domanda.
Io credo che sbaglio io a dargli il percorso esatto..magari qualcuno di voi sa aiutarmi..speriamo :)

Ciaooo

18 Ottobre, 2011 18:28 #2
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 957
Offline
Segui g2d su Twitter!

Ciao,

devi usare la notazione Xpath ecco un ottimo link di riferimento (http://www.zvon.org/xxl/XPathTutorial/General_ita/examples.html), e per aiutarti ci vuole in pezzettino di XML.

La funzionè ExtractValue non è un granchè come performace ma è normale che sia così

facci sapere


Un tempo ero algweb ora sono g2d

20 Ottobre, 2011 10:09 #3
Z_E_P
Utente

Z_E_P
Registrato: Oct, 2011
Posts: 2
Offline


Grazie mille per il consiglio.
Avevo risolto ed ero entrato nel forum per notificarlo :)

occorre specificare anche il valore dell'attributo.

XPath:

'//LISTELEMENT[2]//ATTRIBUTE[5]/@VALUE'

Ho preso spunto da qui http://www.di.univaq.it/gdellape/xml/XMLDoc.php
Anche se è molto interessante quello che mi hai passato e che ho aggiunto ai preferiti :)
Ciao e alla prox.

Condividi su:

Loggati o Registrati per replicare