JAXB για αρχάριους: Tutorial για επεξεργασία XML με Java
Προκειμένου οι εφαρμογές να επικοινωνούν μεταξύ τους, είναι συχνά απαραίτητο να μετατρέψετε τα δεδομένα σε μορφή που είναι εξαιρετικά συμβατή. Για το σκοπό αυτό, η βιβλιοθήκη JAXB υπάρχει στο Java, το οποίο επεξεργάζεται αντικείμενα σε αρχεία XML.
Δημιουργήστε ένα αρχείο XML με JAXB - Best Practices
Το JAXB αντιπροσωπεύει την Αρχιτεκτονική Java για δέσμευση XML . Επιτρέπει την μετατροπή αντικειμένων Java σε αρχεία XML και αντίστροφα. Πριν ξεκινήσετε, υπάρχουν μερικά σημεία που πρέπει να θυμάστε:
- Το JAXB αποτελεί αναπόσπαστο μέρος της σουίτας JRE από την έκδοση 1.6 . Επιπλέον, το περιβάλλον ανάπτυξης Java πρέπει να είναι ενημερωμένο, επειδή έχει καθορίσει σφάλματα.
- Αποφύγετε τους πρωτότυπους τύπους δεδομένων όπως float, δεκαδικό ή αρνητικό ακέραιο καθώς και ανώνυμους τύπους δεδομένων . Δεν υπάρχει ισοδύναμο στο JAXB για αυτό. Διαφορετικά, μπορούν να μετατραπούν αντικείμενα, αριθμητικοί τύποι δεδομένων, λίστες και σύνολα. Το JAXB επίσης δεν μπορεί να χειριστεί σύνθετους τύπους δεδομένων όπως java.time.LocalDate . Αυτό απαιτεί έναν ειδικά σχεδιασμένο προσαρμογέα .
- Στην τεχνική ορολογία, η κατεύθυνση από την Java σε XML ονομάζεται marshaling, ενώ η unmarshaling αντιπροσωπεύει την αντίθετη κατεύθυνση.
σχολιασμών XML
Τελευταία βίντεο
JAXB για αρχάριους: φροντιστήριο χρησιμοποιώντας το παράδειγμα μιας συλλογής CD
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java.webp)
AudioCD.java: Τα χαρακτηριστικά του CD ήχου ορίζονται εδώ
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java-2.webp)
MusicDB.java: Η μουσική συλλογή αποτελείται από μια λίστα με CD ήχου
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java-3.webp)
Το σεμινάριό μας αφορά μια συλλογή CD που εξάγεται σε XML. Αποτελείται από πολλά CD ήχου. Ο καλλιτέχνης, το έτος έκδοσης, το όνομα του άλμπουμ και τα τραγούδια καταγράφονται για κάθε ηχητικό CD.
- Πρώτα πρέπει να δημιουργηθεί η κλάση, η οποία περιέχει τα δεδομένα ενός CD ήχου. Αυτό περιλαμβάνει τον καλλιτέχνη, το έτος έκδοσης, το άλμπουμ και τα τραγούδια που υπάρχουν στο CD.
- Προκειμένου να ελέγχεται καλύτερα η απόδοση σε μορφή XML, απαιτούνται σχολιασμοί XML που ξεκινούν με @ υπό Java.
- Το στοιχείο ρίζας στο αρχείο XML μπορεί να οριστεί χρησιμοποιώντας τον ακόλουθο σχολιασμό: @XmlRootElement (name = "Audiocd")
- Μπορείτε να εισαγάγετε έναν σχολιασμό πάνω από τις μεθόδους getter ή setter που καθορίζουν ένα εναλλακτικό όνομα για ένα χαρακτηριστικό Java. Για παράδειγμα, αντί του έτους των χαρακτηριστικών, πρέπει να εκδοθεί το έτος δημοσίευσης: @XmlElement (όνομα = "έτος δημοσίευσης")
- Η σειρά των χαρακτηριστικών καθορίζεται από τον σχολιασμό @XmlType (propOrder = {"artist", "title", "year", "songlist"}) . Αυτό σημαίνει ότι το όνομα του καλλιτέχνη εμφανίζεται πρώτα στο αρχείο XML, ακολουθούμενο από το όνομα του άλμπουμ, το έτος έκδοσης και τη λίστα με τα τραγούδια. Διαφορετικά, η σειρά εξαρτάται από το αρχείο Java.
- Στη συνέχεια, δημιουργήστε μια νέα κλάση Java που ονομάζεται MusicDB, η οποία περιέχει μια λίστα με CD ήχου. Το όνομα της μουσικής συλλογής και η θέση της μουσικής συλλογής καταγράφονται επίσης εδώ. Κατ 'αρχήν, η διαδικασία είναι παρόμοια με εκείνη του αρχείου Java που αναφέρθηκε παραπάνω.
Από τα αντικείμενα Java σε αρχεία XML
Τελευταία βίντεο
AudioCDMain.java: Δημιουργούνται εδώ πολλά CD ήχου
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java-4.webp)
AudioCDMain.java: Δημιουργήστε τη συλλογή μουσικής
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java-5.webp)
AudioCDMain.java: Μετατρέπει τον κώδικα σε XML
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java-6.webp)
Η ίδια η μετατροπή πραγματοποιείται σε ένα πρόγραμμα δοκιμών, με μεγαλύτερη ακρίβεια στην κύρια μέθοδο.
- Καταρχήν, δημιουργήστε πολλαπλές παρουσίες Audio CD έτσι ώστε να δημιουργούνται πολλαπλά CD ήχου.
- Απαιτείται επίσης μια εμφάνιση της συλλογής μουσικής τύπου MusicDB.
- Επιπλέον, το JAXB πρέπει να γνωρίζει ποια κλάση Java περιέχει το στοιχείο ρίζας. Στην περίπτωσή μας αυτή είναι η κλάση MusicDB : JAXBContext context = JAXBContext.newInstance (MusicDB.class);
- Η μετατροπή γίνεται χρησιμοποιώντας την περίπτωση Marshaller, η οποία συνδέεται με τη μέθοδο JAXB που αναφέρθηκε παραπάνω: Marshaller m = context.createMarshaller ();
- Η μέθοδος Marshaller παρέχει περισσότερες επιλογές, όπως το έγγραφο XML εκτυπώνεται ως έξοδος: .setProperty (Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
Το όλο πράγμα προς την αντίθετη κατεύθυνση
Τελευταία βίντεο
AudioCDMain.java: Το JAXB παράγει αντικείμενα Java από ένα αρχείο XML
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java-7.webp)
Το αρχείο XML έχει ήδη διαμορφωθεί από το JAXB
![](http://hackzl.com/img/software/9541/jaxb-f-r-einsteiger-tutorial-zur-xml-verarbeitung-mit-java-8.webp)
Βασικά, η μετατροπή προς την άλλη κατεύθυνση προχωρά με παρόμοιο τρόπο:
- Πρώτον, δημιουργείται μια παρουσία της μεθόδου unmarshaller : unmarshaller at = context.createUnmarshaller ();
- Στη συνέχεια, το στιγμιότυπο του unmarshaler χρειάζεται το όνομα του αρχείου XML που δημιουργήθηκε προηγουμένως: MusicDB mdb2 = (MusicDB) um.unmarshal (νέο FileReader (MUSICDB_XML));