Merhaba arkadaşlar ; JAXB kütüphanesinde ; append nasıl yapılır. Yani xml in içindeki veriyi koruyarak , aynı root içinde yeni veriler nasıl girilir ?

Aşağıdaki örnek kodda ılk çalıştırdığımda Ahmet eklesin sonrakinde ise Ahmet objesini comment satırı haline getirip Mehmet objesini commit ederken aynı root devamına eklenmesi

package jaxb; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement public class Employee {

private int id;
private String name;
private String surname;

public Employee() {
}

public Employee(int id, String name, String surname) {
    this.id = id;
    this.name = name;
    this.surname = surname;
}

public int getId() {
    return id;
}

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

public String getName() {
    return name;
}

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

public String getSurname() {
    return surname;
}

@XmlElement
public void setSurname(String surname) {
    this.surname = surname;
}

}

package jaxb; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement public class Employees {

private List<Employee> employee;

public List<Employee> getEmployee() {
    return employee;
}

@XmlElement
public void setEmployee(List<Employee> employee) {
    this.employee = employee;
}

}

package jaxb; import java.io.File; import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller;

public class JAXBWriteXMLFile {

public static void main(String[] args) {
    try {
        File file = new File("D:\\\\test\\\\test.xml");
        JAXBContext jaxbContext = JAXBContext.newInstance(Employees.class);
        List<Employee> emp = new ArrayList<Employee>();

        Employee e = new Employee();
        e.setId(7);
        e.setName("Ahmet");
        e.setSurname("Ahmetoglu");
        emp.add(e);

// e = new Employee();

// e.setId(8);

// e.setName("Mehmet");

// e.setSurname("Mehmetoglu");

// emp.add(e);

        Employees eee = new Employees();
        eee.setEmployee(emp);

        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        jaxbMarshaller.marshal(eee, file);
        jaxbMarshaller.marshal(eee, System.out);

    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

}

  1. Çalışma zamanı

alt text

  1. Çalışma zamanı (istenilen sonuç)

alt text

soruldu: 13 Haz, 04:54

selcukoglu's gravatar image

selcukoglu
647111629
cevap kabul oranı: 16%

Bu soruya ilk cevap veren sen ol!
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1

Soruldu: 13 Haz, 04:54

Görüntüleme: 123 kez

Son güncelleme: 13 Haz, 04:54

Benzer sorular

powered by BitNami OSQA