Newsgroup: it.comp.java
Titolo: da xml a oggetti java

Ciao  a tutti!
Ho scritto dei files .xml che mi rappresentano delle mie tabelle di un
DB relazionate tramite un id.(Continent,Nation,Destiantion eccetera
dove in Nation ho appunto l' id del Continent corrispondente ed in
Destination quello della Nation di appartenenza e così via).
Questo l' esempio per Nation:
 <?xml version="1.0" ?>
  <!DOCTYPE esempio (View Source for full doctype...)>
- <esempio>
  <type>Nation</type>
  <rid>5</rid>
  <key>NAT</key>
  <parent>Continent</parent>
  <name>Nat</name>
- <attributes>
  <attribute type="integer" name="id" required="yes" />
  <attribute type="string" name="name" required="yes" />
  <attribute type="string" name="acr" required="yes" />
  <attribute type="oggetto_tabella" ref="Continent" name="txCnt"
required="yes" />
  <attribute type="string" name="descr" required="no" />
  </attributes>
  </esempio>
Ho un parser java per leggere i dati da questi file ed una classe
Dinamica.java che lo utilizza per leggere il file.xml e di conseguenza
poter istanziare l' oggetto corrispondente e tutta la sua
gerarchia:cioè se legge un Destination  di conseguenza dovrò avere un
Nation di appartenenza e quindi il Continent.Dovrà essere possibile
sviluppare questa catena gerarchica tramite appunto le relazioni che ci
sono (nell' xml ho il tag Parent e in attribute ho "ref".
Come mi consigliate di sviluppare questa mia classe Dinamica che legge
questi miei file .xml e si trasformi nell' oggetto letto con tutte le
sue relazioni?
Se qualcuno può essermi utile potrò anche inviare una bozza di questa
classe.
Grazie.

 sue relazioni?
In pratica se ho capito bene, questa classe Dinamica dovrebbe essere un
Factory, giusto?

sanlibe2 ha scritto:

Ho letto velocemente quello che hai scritto...
Dai un'occhita ad XStrem

Non so se definirla Factory ma dovrei sviluppare una classe che legge
questi miei files xml ( che rappresentano le mie tabelle ACCESS, Nation
ne è un esempio) grazie ad un parser.Quindi dovrebbe prendere in input
questo file xml,acquisire gli attributi rilevanti per poter capire di
che oggetto si tratta (Continent,Nation,Destination eccetera) e poi
poterlo quindi istanziare in un ipotetico main.Ma dovrebbe essere in
grado anche di sviluppare la relativa catena gerarchica ricorsivamente
dal padre (Continent) ai figli (Nation) ed ai figli dei figli
(Destination).
Avrei già le bozze dei vari files xml e delle classi java che utilizzo
ma al momento sono un pò fermo sia per il tempo che non ho (lavoro 9
ore al giorno come operaio) sia per l' idea di come sviluppare al
meglio questa ricorsività che alla fine nelle mie tabelle Access viene
effettuata grazie alle relazioni che ci sono tramite vari ID (esempio
Nation (id_nat,name,description,id_continent)..)In quest' ultimo
esempio quindi quando la mia classe java prende id_continent lo deve
acquisire non come intero ma come un oggetto di tipo Continent.
Se qualcuno può aiutarmi in questo sviluppo che dovrò completare per
domenica sera potrò inviarGli privatamente le bozze che ho e poi
magari consigliarmi nel completarle.
In caso negativo grazie comunque del supporto che mi state dando.

 ma al momento sono un pò fermo sia per il tempo che non ho (lavoro 9
Quello che non mi è chiaro è perchè c'è una codifica in xml tra le
tabelle di Access e il factory che dovrà produrre gli oggetti: lo usi
solo come trasporto o c'è qualcosa in più?
Come interroghi il db Access? ODBC-JDBC?

 Come interroghi il db Access? ODBC-JDBC?
Xml è solo il modo che abbiamo scelto per rappresentare queste mie
tabelle perchè è ottimo per rappresentare i dati e le informazioni.
Comunque noi intanto lasciamo stare il DB ed il ponte
JDBC-ODBC......verrà dopo.
Noi abbiamo dei files xml che attraverso degli appositi tag
rappresentano le mie ipotetiche tabelle ed i loro campi e poi delle
classi java che leggono questi dati grazie ad un parser ed istanziano
l' oggetto corrispondente con la relativa gerarchia.
Questa gerarchia la sviluppo grazie ad un tag nel file xml (che si
riferisce al padre dell' oggetto....... Continent se siamo in Nation).
Quindi l' interrogazione del DB verrà dopo,ora mi interessa una classe
che capisca con che oggetto ho a che fare e le sue relazioni con gli
altri oggetti (o tabelle)........pensiamo alle nostre tabelle come se
siamo degli OGGETTI JAVA.
Non so se sono stato chiarissimo.

And ha scritto:


And ha scritto:
 Quello che non mi è chiaro è perchè c'è una codifica in xml tra le
 tabelle di Access e il factory che dovrà produrre gli oggetti: lo usi
 solo come trasporto o c'è qualcosa in più?
 Come interroghi il db Access? ODBC-JDBC?
L' interrogazione del DB e quindi il ponte JDBC-ODBC verrà magari
dopo.
Facciamo finta che le mie tabelle non esistano intanto.Scrivo in xml i
files che li possono rappresentare (sfruttando le caratteristiche di
xml e dei suoi tag) e poi leggo questi files da una classe java
sfruttando un parser (che mi permette di estrapolare i dato racchiusi
in questi files xml).
Letti gli attributi di questo mio file xml la classe deve essere capace
di:
-istanziare l' oggetto corrispondente con i relativi attributi (cioè i
campi dell' ipotetica tabella)
-istanziare gli oggetti della gerarchia (padre Continent,figlio
Nation,nipote Città)
fatto questo svilupperò l' applicazione in modo che da Milano mi darà
Italia e quindi Europa (ma questo lo farò dopo quando comincerò a
lavorare col DB ed il ponte JDBC-ODBC).
Intanto mi serve una classe java capace di leggere questi files xml e
sviluppare ricorsivamente tutta la gerarchia rappresentando al meglio
le relazioni tra i vari oggetti (o files xml).
