Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JAVA]come usare un file xsl senza doverlo selezionare?

    ho scritto una classe java che applica un foglio di stile xsl ad un documento xml.
    per come l'ho scritto c'è bisogno di selezionare, attraverso JFileChooser, il foglio di stile.
    ma, dato che è sempre lo stesso come posso fare in modo che lo applichi da sé?
    mi hanno detto che dovrei scriverne il path all'interno di un file di testo, ma poi come configuro il codice?
    vi posto quello che ho scritto al momento
    codice:
    import java.io.*;
    
    import javax.swing.JFileChooser;
    import javax.swing.filechooser.FileNameExtensionFilter;
    import javax.xml.transform.*; 
    import javax.xml.transform.stream.*; 
    
    public class CssFileCreator {
    	private StreamSource xmlDat, xslSheet;
    	private StreamResult cssOutput;
    	
    	CssFileCreator() throws Throwable {
    		JFileChooser chooser = new JFileChooser();	
    		
    		chooser.setDialogTitle("Open Data File");
    		chooser.setApproveButtonText("Open Data File");
    		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File XML", "xml"));
    		int returnDat = chooser.showOpenDialog(null);	
    		if (returnDat == JFileChooser.APPROVE_OPTION) {
    			File data = chooser.getSelectedFile();
    			xmlDat = new StreamSource(new FileReader(data));
    		}
    		
    //QUESTO è IL FILE DI CUI PARLO
    		chooser.setDialogTitle("Open Xsl Table Stylesheet");
    		chooser.setApproveButtonText("Open Xsl Stylesheet");
    		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File XSL", "xsl"));
    		int returnS = chooser.showOpenDialog(null);	
    		if (returnS == JFileChooser.APPROVE_OPTION) {
    			File xsl = chooser.getSelectedFile();
    			xslSheet = new StreamSource(new FileReader(xsl));
    		}
    
    		
    		chooser.setDialogTitle("Save Css File");
    		chooser.setApproveButtonText("Save Css File");
    		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File RDF", "rdf"));
    		int returnCss = chooser.showSaveDialog(null);
    		if (returnCss == JFileChooser.APPROVE_OPTION) {
    			try{
    			File css = chooser.getSelectedFile();
    			css.createNewFile();						
    			cssOutput = new StreamResult(new FileWriter(css));	
    			}catch ( IOException e ){e.printStackTrace();}
    		} 
    	}
    	
    	
    	void transform() throws Throwable{
    		
    			TransformerFactory transFactory = TransformerFactory.newInstance();
    			Transformer transformer = transFactory.newTransformer(xslSheet);
    			transformer.transform(xmlDat, cssOutput);
    		}
    	public static void main(String[] args) throws Throwable{	
    		
    		CssFileCreator fileHTML = new CssFileCreator();
    		fileHTML.transform();
    	}
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa mi spieghi il senso della tua domanda?
    Tu devi essere in grado di aprire il file noto il suo path, che poi tu scrivi il path in un file properties, in una costante, te lo ritrovi con jfilechooser cosa cambia?

  3. #3
    una volta fatto questo eliminerò il file chooser. dato che applicherò sempre lo stesso xsl, vorrei evitare di selezionarlo ogni volta col file chooser, e vorrei che venga selezionato in automatico leggendo il path

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ripeto, sei capace di aprire un file noto il path? come lo recuperi adesso è irrisorio.
    Puoi scriverlo in una costante pippo, puoi scriverlo in un file pippo.properties, che leggi all'avvio e ti valorizzi pippo....non capisco il senso della domanda (o vuoi che ti scriviamo noi il codice)?

    purtroppo parametri di questo tipo hai solo due modi: usare una costante, usare un file.properties di cui non devi dare il nome, che sai sicuro nel path di esecuzione (o raggiungibile)dal quale leggi alcune impostazioni

  5. #5
    okok. salvo il path in una costante e poi richiamo il file...
    ma forse sarebbe meglio scriverlo in un file.properties, così nel momento in cui dovesse cambiare il file non dovrò andare a toccare il codice.
    solo che è una cosa che non ho mai fatto. allora scrivo il path nel file, lo leggo all'avvio, e salvo il path in una costante...giusto?

  6. #6
    Originariamente inviato da kob4yashi
    solo che è una cosa che non ho mai fatto.
    Puoi consultare il relativo tutorial.

  7. #7
    grazie...ho imparato un'altra cosa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.