Esegue la trasformazione e il filtro xml in java
Domanda
Vorrei filtrare un paio di elementi XML nidificati, valutazione dei loro attributi. A tal fine, sto cercando un API o un framework java efficiente e leggero.
I requisiti principali sono:
- filtraggio di corpi di elementi, basato su qualche modello o condizione
- trasformazione XML basata su eventi
La mia prima idea è stata la gelatina di apache, ma la gelatina ha un effetto collaterale brutto. Rimuove i tag CDATA e questo è un comportamento indesiderato.
Grazie in anticipo.
Soluzione 3
Alla fine ho implementato la filterchain usando dom4j e xpath. Ho deciso per questo api perché è abbastanza utile se devi spostare un numero di rami all'interno di un documento ed è costruito in xpath facilita la ricerca degli elementi desiderati.
Grazie per le risposte.
Altri suggerimenti
Diventa semplice e prova SAX .
Sono abbastanza sicuro che JXPath ha funzionalità di filtro. Vale la pena dare un'occhiata a probabilmente :)
XSLT funzionerebbe per te? Ci sono librerie Java integrate per questo, e il layout è tale che puoi impostare sezioni solo quando sono soddisfatti determinati tag e / o condizioni. Poi di nuovo, devi imparare XSLT.
Uso e raccomando xquery su xslt. Entrambi sono linguaggi funzionali e richiedono un po 'di tempo per abituarsi. Saxon supporta entrambi. Vedi http://saxon.sourceforge.net/