Come trasformare XML con il processore XSLT in Java?Elaborazione XSLT con Java?
risposta
La libreria standard Java fornisce un'interfaccia di trasformazione (XSLT) per l'analisi XML. Consultare la documentazione API per le classi javax.xml.transform.Transformer
e javax.xml.transform.TransformerFactory
.
Sarebbe bello se fosse possibile fornire un collegamento ai javadoc Java 6 per le classi pertinenti e un semplice esempio di codice. – Ophidian
Sono nuovo di xslt. Qualcuno mi può guidare come elaborare xslt con java?
Questo dipende dal processore XSLT basato su Java che si sta utilizzando. Ogni processore XSLT ha la sua API.
Ad esempio, Saxon 6.5.5 (per XSLT 1.0) e Saxon 9.1.07 (per XSLT 2.0) sono scritti in Java. La documentazione è a http://www.saxonica.com/documentation/documentation.xml
Quasi tutti i processori XSLT hanno una riga di comando, che non richiede scrivere un programma per eseguire una trasformazione XSLT.
Ad esempio, here is: come avviare una trasformazione 9.x sassone dalla riga di comando.
ecco come lo uso sempre Saxon dalla riga di comando:
java -Xms2048M -Xmx10000M -jar
C:\xml\Parsers\Saxon\Ver.9.1.0.7\J\saxon9.jar
-t -repeat:1 -o %out% %xml% %xsl% %param[ name=\"value\"]%
dove %out%
è il nome del file di output, %xml%
è il file xml, %xsl%
è il file XSLT primario e %param[ name=\"value\"]%
è un elenco di valori nominali di parametri esterni (quasi sempre lo lascia vuoto).
C'è un'API standard per XSLT, vedere il pacchetto 'javax.xml.transform'. Lo userei a favore di qualsiasi libreria di terze parti con la propria API, a meno che non vi siano motivi validi per l'utilizzo di una specifica libreria di terze parti. – Jesper
@Jesper: Siamo * fortunati * che l'utilizzo delle API non sia l'unico modo! La maggior parte dei programmatori XSLT che utilizzano qualsiasi processore XSLT non sono * programmatori Java. Sarebbe una perdita totalmente spiacevole e ingiustificata se fossero stati privati di utilizzare processori XSLT come Saxon o Xalan.In effetti, la produzione di processori XSLT basati su Java che richiedevano la programmazione Java per poterli utilizzare, non sarebbe affatto vantaggiosa. –
@Dimitre Ma la domanda era su come eseguire l'elaborazione XSLT con Java; parlare di altri modi per farlo (non tramite un'API) non è rilevante. Se hai intenzione di farlo utilizzando alcune API, usa l'API standard a meno che non vi sia un valido motivo per utilizzare alcune API non standard. – Jesper
JAXP fornisce un modo indipendente di implementazione con le trasformazioni XSLT. Here is the tutorial per iniziare. Se stai lavorando con XSLT e/o lavorando con XSLT multipli, esiste anche un'opzione di memorizzazione nella cache dei modelli XSLT analizzati per motivi di prestazioni. This article spiega come memorizzare nella cache
Qui è campione di XSLT per l'utilizzo di API Java per il trasformatore, come ha detto @Raedwald:
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
public class TestMain {
public static void main(String[] args) throws IOException, URISyntaxException, TransformerException {
TransformerFactory factory = TransformerFactory.newInstance();
Source xslt = new StreamSource(new File("transform.xslt"));
Transformer transformer = factory.newTransformer(xslt);
Source text = new StreamSource(new File("input.xml"));
transformer.transform(text, new StreamResult(new File("output.xml")));
}
}
salvatore di vita ... grazie mille !! –
Che esempio ben scritto !! Grazie mille! – crazyim5
- 1. java xslt tutorial
- 2. Java 8 Stream con elaborazione in batch
- 3. Come abbinare l'elemento dell'istruzione di elaborazione in XSLT?
- 4. Java elaborazione dei file parallela
- 5. Elaborazione annotazione java di eclipse
- 6. Problema entità elaborazione XML Java?
- 7. pipeline efficiente a XSLT, con params, in Java
- 8. Esegui XSLT Transform da Java con il parametro
- 9. Scrittura JSON con XSLT
- 10. Elaborazione dell'email con NodeJS
- 11. Java, xml, XSLT: prevenzione convalida DTD
- 12. Libreria di elaborazione video per Java
- 13. Elaborazione di file enormi in java
- 14. XSLT metodo di istanza chiamata java
- 15. Implementazione java XSLT 2.0 open source?
- 16. quadro di elaborazione parallela in java
- 17. Libreria di elaborazione del segnale in Java?
- 18. XSLT format-numero con virgola
- 19. xslt coalesce function con Saxon
- 20. saltare i nodi con XSLT
- 21. Elaborazione video con GPUImmagine Android
- 22. Errore Saxon con istruzione import XSLT
- 23. Elaborazione a due fasi: non emette tag vuoti dall'elaborazione XSLT 2.0 phase-1
- 24. Ant <junitreport> fallire a causa di di Xalan (XSLT) funzione di elaborazione sicuro
- 25. XSLT per generare un altro script XSLT
- 26. XSLT: creazione di una mappa in XSLT
- 27. Aggiornamento da XSLT 1.0 a XSLT 2.0
- 28. XSLT Raggruppamento di fratelli
- 29. Elaborazione multiprocessore su Android
- 30. XSLT Raggruppamento
Buona domanda, +1. Vedere la mia risposta per i riferimenti alla documentazione di Saxon e per un importante avviso che in molti casi non è necessario conoscere Java per utilizzare un processore XSLT basato su Java. –
[jcabi-xml] (http://xml.jcabi.com) può aiutare: http://www.yegor256.com/2015/02/02/xsl-transformations-in-java.html – yegor256
Questa risposta ha un risposta precisa, e non è molto ovvio per un nuovo arrivato quale sia la risposta. Questa domanda dovrebbe essere riaperta. – Raedwald