|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
[Java .NET] Data.DataSet equivalente java
Esiste per java un equivalente di Data.DataSet di .NET... Ovvero che crei file XML con la stessa semplicità e immediatezza???
Ho visto WebRowSet ma non capisco bene come si utilizzi anche perchè l'utilizzo è orientato ai database mentre io ho necessita di scrivere file semplicissimi tipo questo: Codice:
<NewDataSet> − <Prova> <Valore>Paperino</Valore> </Prova> − <Prova> <Valore>Pippo</Valore> </Prova> − <Prova> <Valore>Pluto</Valore> </Prova> − <Prova> <Valore>Qui</Valore> </Prova> − <Prova> <Valore>Quo</Valore> </Prova> − <simone> <Valore>Paperino</Valore> </simone> − <simone> <Valore>1</Valore> </simone> − <simone> <Valore>2</Valore> </simone> − <simone> <Valore>3</Valore> </simone> − <simone> <Valore>4</Valore> </simone> </NewDataSet>
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Non conosco DataSet ma in Java di precotto c'è un org.w3c.dom. Funziona così: crei un documento, gli aggiungi dei nodi, salvi il documento. Ad esempio:
Codice:
import org.w3c.dom.Document; import org.w3c.dom.Element; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.File; public class Main { public static void main(String[] args) throws Exception { Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); Element root = (Element) doc.appendChild(doc.createElement("root")); Element prova = (Element) root.appendChild(doc.createElement("Prova")); Element valore = (Element) prova.appendChild(doc.createElement("Valore")); valore.setTextContent("pippo"); valore.setAttribute("pipposita", "10"); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("pippo.xml")); TransformerFactory.newInstance().newTransformer().transform(source, result); } } Element x = doc.createElement("nome"); genitore.appendChild(x); Puoi scriverlo su una riga: Node x = genitore.appendChild(doc.createElement("nome")); e se vuoi l'Element (per assegnare attributi) devi fare la conversione esplicita: Element x = (Element) genitore.appendChild(doc.createElement("nome")); Tutto qua. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
il DataSet é un db relazionale che puó essere serializzato in xml
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Ah ecco, allora è meglio WebRowSet. C'è un WebRowSetImpl nel jre. Dopo averlo creato:
WebRowSet set = new WebRowSetImpl(); o gli ficchi dentro il risultato di una query (un ResultSet) con popupulate e poi scrivi l'xml su un file oppure scrivi direttamente il resultset in xml usando il metodo write che accetta un ResultSet come argomento. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Grazie mille a tutti!!! Proverò entrambe le soluzioni!! A dire il vero la prova con DOM l'avevo già fatta e funziona... WebRowSet l'avevo trovato e però non capivo come utilizzarlo!!! Grazie ancora!!
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Ciao grazie ancora per le risposte... MA volevo chiedere riguardo al webRowSet come faccio ad utilizzarlo senza appoggiarmi ad un database esistente... In .NET il DataSet funziona esattamente come database senza appoggiarsi (apparentemente) a nulla di esterno.... Non so se mi spiego...
myData.Namespace = "Servizio" myData.Tables.Add("InfoPC", "InfoPC") myData.Tables("InfoPC").Columns.Add("Colonna") myData.Tables("InfoPC").Rows.Add("dasaafaf") myData.Tables("InfoPC").Rows.Add("ewfaweg") Questo è il codice VB.....
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
DataSet fa parte di ADO.NET. Non esiste un "corrispettivo" Java. Se vogliamo vedere DataSet come una sorta di in-memory database, allora lato piattaforma Java hai un tot di alternative. Incluso nel JDK versione 6 trovi JavaDB, un database relazionale che supporta diverse modalità di utlizzo, tra cui quella embeded. Esistono poi i prevalent systems, per Java ad esempio c'è space4j (un articolo, vecchiotto). Che io sappia non ci sono altre alternative.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:08.