Webservice_08_JAXB處理java和xml

非常感謝孫浩老師。

Coder.java

package cn.lichen.bean;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Coder {
	private int coderId;
	private String name;
	private String position;
	private Item item;
	
	public Coder() {
		// TODO Auto-generated constructor stub
	}
	
	public Coder(int coderId, String name, String position, Item item) {
		super();
		this.coderId = coderId;
		this.name = name;
		this.position = position;
		this.item = item;
	}

	public int getCoderId() {
		return coderId;
	}
	public String getName() {
		return name;
	}
	public String getPosition() {
		return position;
	}
	public void setCoderId(int coderId) {
		this.coderId = coderId;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setPosition(String position) {
		this.position = position;
	}
	public Item getItem() {
		return item;
	}
	public void setItem(Item item) {
		this.item = item;
	}
}

 

Item.java

package cn.lichen.bean;

public class Item {

	private int itemId;
	private String name;
	public Item() {
		// TODO Auto-generated constructor stub
	}
	
	public Item(int itemId, String name) {
		super();
		this.itemId = itemId;
		this.name = name;
	}

	public int getItemId() {
		return itemId;
	}
	public String getName() {
		return name;
	}
	public void setItemId(int itemId) {
		this.itemId = itemId;
	}
	public void setName(String name) {
		this.name = name;
	}
}


Java轉爲Xml:

@Test
	public void test1() {
		try {
			JAXBContext context = JAXBContext.newInstance(Coder.class);
			Marshaller marshaller = context.createMarshaller();
			Coder coder = new Coder(1, "lichen", "boss", new Item(1, "it"));
			marshaller.marshal(coder, System.out);
		} catch (JAXBException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}


 

 

Xml轉爲Java:

@Test
	public void test2() {
		try {
			String xml="<?xml version='1.0' encoding='UTF-8' standalone='yes'?><coder><coderId>1</coderId><item><itemId>1</itemId><name>it</name></item><name>lichen</name><position>boss</position></coder>";
			JAXBContext context = JAXBContext.newInstance(Coder.class);
			Unmarshaller unmarshaller = context.createUnmarshaller();
			Coder coder = (Coder) unmarshaller.unmarshal(new StringReader(xml));
			System.out.println(coder.getName()+"\t\t"+coder.getItem().getName());
		} catch (JAXBException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章