Apa analogi Java dari serialisasi XML .NET?
java
xml
serialization
Dmitry Shechtman
sumber
sumber
Jawaban:
2008 Answer The "Official" Java API untuk ini sekarang JAXB - Java API for XML Binding. Lihat Tutorial oleh Oracle . Implementasi referensi ada di http://jaxb.java.net/
Pembaruan 2018 Perhatikan bahwa Java EE dan CORBA Modules tidak digunakan lagi di SE di JDK9 dan akan dihapus dari SE di JDK11 . Oleh karena itu, untuk menggunakan JAXB, JAXB harus berada di lingkungan kelas perusahaan yang ada yang dipaketkan oleh misalnya server aplikasi Anda, atau Anda harus membawanya secara manual.
sumber
XStream cukup bagus dalam membuat serial objek ke XML tanpa banyak konfigurasi dan uang! (di bawah lisensi BSD).
Kami menggunakannya di salah satu proyek kami untuk menggantikan serialisasi java lama dan bekerja hampir di luar kotak.
sumber
Proyek "Serialisasi XML Sederhana"
Anda mungkin ingin melihat proyek Serialisasi XML Sederhana . Ini adalah hal terdekat yang saya temukan ke System.Xml.Serialization di .Net.
sumber
JAXB adalah bagian dari edisi standar JDK versi 1.6+. Begitulah
FREE
dan tidak ada perpustakaan tambahan untuk diunduh dan dikelola. Contoh sederhana dapat ditemukan di siniXStream sepertinya sudah mati. Pembaruan terakhir pada 6 Desember 2008.
Simple
Tampaknya semudah dan sesederhana JAXB tetapi saya tidak dapat menemukan informasi perizinan untuk mengevaluasinya untuk penggunaan perusahaan.sumber
Perlu disebutkan bahwa sejak versi 1.4, Java memiliki kelas java.beans.XMLEncoder dan java.beans.XMLDecoder. Kelas-kelas ini melakukan pengkodean XML yang setidaknya sangat sebanding dengan Serialisasi XML dan dalam beberapa keadaan mungkin melakukan trik untuk Anda.
Jika kelas Anda tetap berpegang pada spesifikasi JavaBeans untuk getter dan setternya, metode ini mudah digunakan dan Anda tidak memerlukan skema. Dengan peringatan berikut:
Misalnya, ambil deklarasi berikut:
Menjalankan kode ini:
Akan menghasilkan file berikut:
sumber
java.beans.XMLDecoder
dengan data yang diberikan pengguna dapat menyebabkan kerentanan eksekusi kode arbitrer dalam kode Anda.XMLBeans berfungsi dengan baik jika Anda memiliki skema untuk XML Anda. Ini membuat objek Java untuk skema dan membuat metode parse yang mudah digunakan.
sumber
Jika Anda berbicara tentang serialisasi XML otomatis pada objek, lihat Castor :
sumber
Biasanya saya menggunakan jaxb atau XMLBeans jika saya perlu membuat objek serializable ke XML. Sekarang, saya dapat melihat bahwa XStream mungkin sangat berguna karena tidak mengganggu dan memiliki api yang sangat sederhana. Saya akan segera memainkannya dan mungkin akan menggunakannya. Satu-satunya kelemahan yang saya perhatikan adalah saya tidak dapat membuat id objek sendiri untuk referensi silang.
@Barak Schiller
Terima kasih telah memposting tautan ke XStream!
sumber
Jangan lupakan JiBX .
sumber
jika Anda menginginkan solusi terstruktur (seperti ORM) maka JAXB2 adalah solusi yang baik.
Jika Anda menginginkan serialisasi seperti DOT NET maka Anda dapat menggunakan Long Term Persistence of JavaBeans Components
Pilihannya tergantung pada penggunaan serialisasi.
sumber
sumber