C'è un modo dichiarativo per analizzare XML per oggetti Java?
-
29-09-2019 - |
Domanda
Sto scrivendo una funzione di importazione di file XML per la mia applicazione Java. Sto usando XOM per analizzare i file XML. Il codice per il parsing XML non è facile da capire, è un po '.getChild(3)
hardcoded e così via. E 'difficile seguire il codice rispetto al documento XML dichiarativo.
Non c'è un modo più gestibile ai documenti parsing XML di oggetti Java? Mi piacerebbe averlo in un modo più dichiarativo, dove posso specificare quali tag corrisponde a ciò che le classi Java.
Soluzione 7
xstream che era facile da usare e analizza il XML in modo dichiarativo.
Altri suggerimenti
Date un'occhiata al JAX / B - abbastanza semplice approccio basato su annotazioni. Si tratta di un'API standard di Java.
Ci sono strumenti per generare le classi Java commentata da XSD o file XML di esempio. Descrivo il mio uso di esso in mio blog
Date un'occhiata al Apache Commons digestore .
JAXB (JSR-222) è la soluzione migliore. Si noti che JAXB è una specifica che significa che avete una scelta di implementazioni:
standard JAXB permette di specificare le mappature mediante annotazioni, moxy JAXB permette inoltre di specificare i metadati tramite XML:
Se si desidera una soluzione mantenibile è necessario rompere l'uno-a-uno tra gli elementi XML trovato in quasi tutti i XML soluzioni vincolanti, e la mappatura basata utilizzo XPath utilizzato in Moxy:
Il href="http://simple.sourceforge.net" rel="nofollow"> quadro XML Semplice Tutorial .
Ecco la documentazione per lo stesso: http://www.castor.org/xml-mapping .html