PDA

View Full Version : creare dinamicamente un file xml partendo da un database


momeram
18-10-2010, 10:49
ciao a tutti

mi servirebbe una mano

sto facendo un lavoro di tesi lavorando su alcuni sensori

ora dovrei realizzare un interfacciamento dei sensori potendo monitorare i dati ambientali da remoto

in pratica quello che non riesco a fare e generare dinamicamente un file xml che prelevi i dati dal database (postgresql) in modo automatico senza che li debba esportare io

come si può fare una cosa del genere?

dojolab
18-10-2010, 10:57
ciao a tutti

mi servirebbe una mano

sto facendo un lavoro di tesi lavorando su alcuni sensori

ora dovrei realizzare un interfacciamento dei sensori potendo monitorare i dati ambientali da remoto

in pratica quello che non riesco a fare e generare dinamicamente un file xml che prelevi i dati dal database (postgresql) in modo automatico senza che li debba esportare io

come si può fare una cosa del genere?


I casi sono due:

a) crei uno script che legge i dati e scrive l'XML (e qui ti possono venire in aiuto molti linguaggi)
b) usi l'exporter di pgsql per l'XML, link (http://wiki.postgresql.org/wiki/XML_Support)

momeram
18-10-2010, 11:08
I casi sono due:

a) crei uno script che legge i dati e scrive l'XML (e qui ti possono venire in aiuto molti linguaggi)
b) usi l'exporter di pgsql per l'XML, link (http://wiki.postgresql.org/wiki/XML_Support)

per prima cosa grazie per la velocità di risposta

creare uno script del genere è complicato?

con l'exporter posso intervenire anche sui dati modificandoli?

in pratica la versione che utilizzo di postgresql è maestro 10.4

al momento questo legge i dati direttamente dai sensori e finora l'unica cosa che sono riuscito a fare e esportare i dati xml in modo manuale

ora dovrei stampare i dati su un file xml in modo dinamico applicando delle opportune modifiche sui dati numerici in quanto legge i dati grezzi dei sensori e non già convertiti nelle varie unità di misura

la cosa che non mi è chiara e come interfacciarmi direttamente col database generando un xml che si 'autoaggiorna'

dojolab
18-10-2010, 11:15
per prima cosa grazie per la velocità di risposta

creare uno script del genere è complicato?

con l'exporter posso intervenire anche sui dati modificandoli?

in pratica la versione che utilizzo di postgresql è maestro 10.4

al momento questo legge i dati direttamente dai sensori e finora l'unica cosa che sono riuscito a fare e esportare i dati xml in modo manuale

ora dovrei stampare i dati su un file xml in modo dinamico applicando delle opportune modifiche sui dati numerici in quanto legge i dati grezzi dei sensori e non già convertiti nelle varie unità di misura

la cosa che non mi è chiara e come interfacciarmi direttamente col database generando un xml che si 'autoaggiorna'

Non ho mai sentito una versione che si chiama maestro 10.4 di PGSQL; se leggi il Wiki che ti ho linkato c'è tutto ciò di cui hai bisogno.

Per lo script no, ti basta scegliere il linguaggio: sh (cron?), python, php (e poi lanciarlo con un cron sempre.

momeram
18-10-2010, 11:27
Non ho mai sentito una versione che si chiama maestro 10.4 di PGSQL; se leggi il Wiki che ti ho linkato c'è tutto ciò di cui hai bisogno.

Per lo script no, ti basta scegliere il linguaggio: sh (cron?), python, php (e poi lanciarlo con un cron sempre.

http://www.sqlmaestro.com/products/postgresql/maestro/ questo è quello che sto usando

come avrei capito ho poca dimestichezza con i database e le loro esportazioni, esportarli in modo manule già è stata una grande scoperta per me

dal wiki non ho ben capito (diciamo pure per niente :( ) come poter generare automaticamente l'xml

momeram
18-10-2010, 12:37
dove posso trovare in rete uno script che fa questo tipo di operazione?

dojolab
18-10-2010, 15:58
dove posso trovare in rete uno script che fa questo tipo di operazione?

Ti rispondo qui, almeno tutti possono vederlo.
Tu stai usando un Client per la gestione di un RDBMS.

Dimentica questa cosa.
Tu devi crearti un file .sh, python, php che vada ad eseguire una determinata query (tecnicamente potresti crearti anche una stored procedure da richiamare attraverso un file di scripting) che ti ritorna un file XML.

Nel wiki che ti ho linkato ci sono vari esempi.
Per eseguirlo periodicamente puoi usare un cron.

momeram
18-10-2010, 17:24
Ti rispondo qui, almeno tutti possono vederlo.
Tu stai usando un Client per la gestione di un RDBMS.

Dimentica questa cosa.
Tu devi crearti un file .sh, python, php che vada ad eseguire una determinata query (tecnicamente potresti crearti anche una stored procedure da richiamare attraverso un file di scripting) che ti ritorna un file XML.

Nel wiki che ti ho linkato ci sono vari esempi.
Per eseguirlo periodicamente puoi usare un cron.

ho risolto usando questo

http://www.sqlmaestro.com/products/postgresql/datawizard/

con questo riesco ad aggiornare automaticamente l'xml

grazie per l'aiuto ;)

momeram
19-10-2010, 12:16
ora che sono riuscito ad elaborare dinamicamente il file

dovrei modificare l'xml ripulendolo da tutte le stringhe stampando solo l'ultima convertita in modo opportuno per poter visualizzare dei maracatori su gmaps (cosa che ho già realizzato)

mi hanno consigliato perl, ci sono pure altre vie?

momeram
19-10-2010, 12:20
tanto per spiegarmi meglio

<ROW result_time="17/10/2010 14.39.57" nodeid="2" latitudedegree="39" latitudeminutes="355890" longitudedegree="16" longitudeminute="372593" />

stringa da elaboare


<marker lat="39.59381" long="16.62098" descriz="Qui ho effettuato la prova dinamica"/>

stringa da ottenere

il valore dopo il punto è la coordinata in minuti diviso 60