de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 C.c
C.c
Question

bagaimana cara mengurai xml ke objek java?

Saya memiliki XML yang digunakan untuk mengkonfigurasi beberapa aturan, tidak memiliki struktur yang kompleks, tetapi konfigurasi ini digunakan di mana saja di sistem saya, jadi saya ingin mengurai XML ini ke objek java dan mendesainnya sebagai mode singleton, apakah ada cara yang baik yang dapat saya gunakan untuk unmarshal XML ke objek Java secara langsung tanpa menulis banyak kode?

Saya melakukan beberapa penelitian di Google dan diketahui JAXB adalah pilihan, aplikasi saya hanya beberapa jenis program alat yang membaca aturan dan kemudian mengikuti melakukan hal-hal, JAXB dapat digunakan untuk layanan web secara lebih luas, apakah cocok dengan proyek saya?

Jika ya, pertanyaan yang paling penting adalah, saya menggunakan xjc untuk menghasilkan kelas sumber objek java sesuai file xsd, setelah unmarshal saya akan langsung mendapatkan objek configurationType ini, apakah perlu saya mengkonversi lagi, (dari kelas JaxB ke konfigurasi objek java pojo yang saya miliki), saya melihat sebagian besar pembuat kode melakukan ini, tetapi mengapa? karena mereka adalah beberapa data, hanya dari objek yang dihasilkan ke JAXB dan menyalin ke objek POJO yang dibuat sendiri.

28 2013-05-03T17:28:06+00:00 3
Pemrograman
java
xml
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Evgeniy Dorofeev
Evgeniy Dorofeev
3 Mei 2013 в 5:35
2013-05-03T17:35:53+00:00
Lebih
Sumber
Sunting
#19271640

JAXB adalah solusi yang ideal. Tetapi anda tidak perlu xsd dan xjc untuk itu. Lebih sering daripada tidak Anda tidak memiliki xsd tetapi Anda tahu apa xml Anda. Cukup analisa xml anda, mis,

<customer id="100">
    <age>29</age>
    <name>mkyong</name>
</customer>

Buat kelas model yang diperlukan:

@XmlRootElement
public class Customer {

    String name;
    int age;
    int id;

    public String getName() {
        return name;
    }

    @XmlElement
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    @XmlElement
    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    @XmlAttribute
    public void setId(int id) {
        this.id = id;
    }

}

Cobalah untuk membatalkan:

JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Customer customer = (Customer) jaxbUnmarshaller.unmarshal(new File("C:\\file.xml"));

Periksa hasil, perbaiki bug!

Asad Iqbal
Asad Iqbal
Jawaban edit 10 Agustus 2014 в 6:48
59
0
Soumya Sarkar
Soumya Sarkar
17 Maret 2015 в 11:28
2015-03-17T11:28:29+00:00
Lebih
Sumber
Sunting
#19271642

Untuk melakukan Unmarshall menggunakan JAXB:

  1. Konversikan XML yang diberikan ke XSD (sendiri atau dengan konverter online),

  2. Buat proyek JAXB di eclipse,

  3. Buat file XSD dan tempelkan konten XSD yang telah dikonversi di dalamnya,

  4. Klik kanan pada file **XSD--> Generate--> JAXB Classes--> ikuti instruksinya (ini akan membuat semua file .java yang diperlukan di src, yaitu, satu package-info, pabrik objek dan kelas pojo),

  5. Buat file .java lain di src untuk mengoperasikan operasi unmarshall, dan jalankan.

Selamat Mengode !!!

Soumya Sarkar
Soumya Sarkar
Jawaban edit 18 September 2015 в 11:39
5
0
Juned Ahsan
Juned Ahsan
3 Mei 2013 в 5:36
2013-05-03T17:36:21+00:00
Lebih
Sumber
Sunting
#19271641

JAXB adalah pilihan yang dapat diandalkan karena melakukan pemetaan xml ke kelas java dengan lancar. Tetapi ada kerangka kerja lain yang tersedia, berikut ini salah satunya:

https://code.google.com/p/xmappr/

3
0
Related communities 3
Programmer JAVA indonesia
Programmer JAVA indonesia
1 119 pengguna
Buka telegram
jvmusergroup
jvmusergroup
351 pengguna
Bismillahirrohmanirohim. Perhatian! Grup ini merupakan ekspansi dari grup Forum Java Programmer Indonesia di Facebook. Silahkan berbagi pengalaman dan masalah seputar Java dan keluarganya. https://t.me/JVMIndonesia Admin : @hendisantika34
Buka telegram
Java Indonesia🇲🇨
Java Indonesia🇲🇨
144 pengguna
Programmer Java Indonesia. Grup ini digunakan untuk bertanya terkait materi belajar Java / fullstack Warning=> -dilarang promosi(izin adm -18+🔞 - berbicara sopan - no spam /boot Mohon ikut aturan grup belum di keluarkan
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 7 jam yang lalu
2
Akshit Mehta
Terdaftar 2 hari yang lalu
3
me you
Terdaftar 6 hari yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi