[Gvsig_italian] programmazione java

Juan Lucas Dominguez Rubio jldominguez a prodevelop.es
Lun 5 Maggio 2008 04:09:47 PDT


Ciao,
 
I metodi getXMLEntity())  e setXMLEntity() si usano generalmente per salvare/caricare la descrizione del layer quando l'uttente salva/apre un progetto di gvSIG. Quello che hai salvato (C:\\prova.xml) è un elemento di un file XML con i suoi sotto-elementi, cioè un pezzo del file GVP. Nella classe XMLEntity c'è il metodo statico parse(String data), con cui dovrebbe essere possibile fare ciò che vuoi. Devi caricare l'intero file  C:\\prova.xml in un String.  Ho trovato su internet un modo semplice di farlo (attach file_to_string.txt). Poi, sarebbe più o meno così:
 
File f = new File("c:\\prova.xml");
String str = file2String(f);
XMLEntity xe = XMLEntity.parse(str);
layer.setXMLEntity(xe);
 
Comunque, il modo piu normale di modificare qualcosa in un layer sarebbe usando i suoi metodi. Modificare il file c:\\prova.xml e poi ricaricarlo con setXMLEntity mi sembra un po' pericoloso...cosa vuoi cambiare nel layer?
 
 
Saluti,
 
Juan Lucas Domínguez Rubio
Prodevelop SL, Valencia (España)
Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
http://www.prodevelop.es <http://www.prodevelop.es/> 

________________________________

De: gvsig_italian-bounces a lists.gvsig.org en nombre de gaghi
Enviado el: lun 05/05/2008 12:25
Para: gvsig_italian a lists.gvsig.org
Asunto: Re: [Gvsig_italian] programmazione java




ciao, grazie per gli utilissimi consigli che ho ricevuto finora.
adesso mi trovo di fronte all'ultimo(per ora).
Devo manipolare un file xml e modificarne il valore di un tag.

FLayer lyr = root.getLayer(0);

File f=new File("C:\\prova.xml");
                                FileOutputStream fos;
                                try {
                                        fos = new FileOutputStream(f);
                                        PrintStream ps=new PrintStream(fos);
                                        ps.println(lyr.getXMLEntity());
                                } catch (FileNotFoundException e) {
                                        e.printStackTrace();
                                }

Facendo in questo modo riesco a scrivere il contenuto del file xml
restituito dal layer e metterlo in un file. quindi a leggerlo come un
normale file di testo.

Una volta svolte le operazioni che mi servono sul file vorrei "ricaricarlo"
tramite il metodo setXMLEntity(XMLEntity x) e aggiornare il layer. Non so
però come fare perchè JAVA non mi consente il casting da String a XML.

Grazie e scusate l'insistenza.
--
View this message in context: http://www.nabble.com/programmazione-java-tp16935242p17056947.html
Sent from the gvSIG Italian mailing list archive at Nabble.com.

_______________________________________________
Gvsig_italian mailing list
Gvsig_italian a lists.gvsig.org
https://gvsig.org/lists/mailman/listinfo/gvsig_italian


-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/gvsig-italian/attachments/20080505/ec9cffd3/attachment.html>
-------------- parte successiva --------------
È stato filtrato un testo allegato il cui set di caratteri non era
indicato...
Nome: file_to_string.txt
URL: <http://lists.osgeo.org/pipermail/gvsig-italian/attachments/20080505/ec9cffd3/attachment.txt>


More information about the Gvsig_italian mailing list