1. 程式人生 > >XML報文轉JAVA物件-JAVA物件轉XML報文

XML報文轉JAVA物件-JAVA物件轉XML報文

JAVA 實體類 Person.java

public class Person {
	
	private int id;
	private String username;
	private String age;
	private String address;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
	//無參建構函式
	public Person(){
		super();
	}
	
	//有參建構函式
	public Person(int id,String username,String age,String address){
		this.id=id;
		this.username=username;
		this.age=age;
		this.address=address;
	}
	

}

第二個JAVA實體類,把上面宣告的Person 實體作為一個變數存在

注意 @XmlRootElement 的註解的使用

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class ObjectDemo {
	
	private String name;
	private String sex;
	
	private Person person;
	
	/**
	 * @return the person
	 */
	public Person getPerson() {
		return person;
	}
	/**
	 * @param person the person to set
	 */
	public void setPerson(Person person) {
		this.person = person;
	}
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the sex
	 */
	public String getSex() {
		return sex;
	}
	/**
	 * @param sex the sex to set
	 */
	public void setSex(String sex) {
		this.sex = sex;
	}
	
	//有參構造方法
	public ObjectDemo(String name,String sex,Person person){
		this.name=name;
		this.sex=sex;
		this.person=person;
		
	}
	//無參構造方法
	public ObjectDemo(){
		super();
	}
	
}


測試方法

import java.io.StringReader;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

import org.junit.Test;

import com.demo.vo.ObjectDemo;
import com.demo.vo.Person;

public class XmlToObject {

	
	@Test
	public void XMLTobean() {
		Person p = new Person(1, "小紅", "10", "北京");
		ObjectDemo ob = new ObjectDemo("小明", "11", p);

		try {
			JAXBContext context = JAXBContext.newInstance(ObjectDemo.class);
			Marshaller marshaller = context.createMarshaller();
			marshaller.marshal(ob, System.out);//這裡的輸出流直接輸出了,也可以使用ByteArrayOutputStream();接收,toString()
} catch (JAXBException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void beanToXML() { String xml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + "<objectDemo>" + "<name>小明</name>" + "<person>" + "<address>北京</address>" + "<age>10</age>" + "<id>1</id>" + "<username>小紅</username>" + "</person>" + "<sex>11</sex>" + "</objectDemo>"; try { JAXBContext context = JAXBContext.newInstance(ObjectDemo.class); Unmarshaller unmarshaller = context.createUnmarshaller(); ObjectDemo obj = (ObjectDemo)unmarshaller.unmarshal(new StringReader(xml)); System.out.println(obj.getName()); System.out.println(obj.getPerson().getAddress()); } catch (JAXBException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }


相關推薦

XML報文JAVA物件-JAVA物件XML報文

JAVA 實體類 Person.javapublic class Person { private int id; private String username; private Strin

xstream--xml工具類--java物件轉換JSONObject、xmljava物件

工作環境: myeclipse2013、jdk1.8、fastjson1.1.41、xstream1.4.3 import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.Writer;

JAXB實現XMLjava物件以及soapXml和物件需要注意的地方

public class JaxbXmlUtil { private static final String DEFAULT_ENCODING = "UTF-8"; /** * pojo轉換成xml 預設編碼UTF-8 */ public static

JavaXml物件的互

在java開發中我們經常會遇到Xml與物件互相轉換的情況,尤其是針對WebService訪問時會涉及到xml與物件的轉換問題。目前可以用於xml與物件互轉的方式有很多這裡採用jdk自帶的JAXB來進行。 對於jaxb的介紹我就不用過多的介紹了,網上這方面的資料

java中json轉化成物件物件化成json

 首先要帶入第三方工具類jar包 gson 1,普通類: public void test() { //1、建立Gson物件 Gson gson = new Gson(); User user = new User(1, "liujinghan", "123456",

java中集合Collectionlist物件

首先我的需求是獲取到購物車列表,購物車列表是一個Map物件,構造方法獲取購物項,這裡購物項是Collection物件 // 購物項集合,K商品ID,V就是購物項 Map<Integer, CartItem> map = new LinkedHashMap<In

java list按照 物件 指定多個欄位屬性進行排序

話不多說,上程式碼: package PjectUtils; import java.lang.reflect.Field; import java.text.NumberFormat; import java.util.Collections; import java

java反射實現物件JSON(貼上可用)

 package test; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.Iterator; import

EASYUI 樹形選單 fastjson JAVA巢狀物件JSON

使用EASYUI 的樹形導航選單 JAVA物件轉選單 我用的是JDK1.8 使用 fastjson1.2.7版本 從github下載下來的原始碼 EasyUiTree.java物件程式碼如下: package org.bingley.test; import java.i

java把實體物件化成list和map

普通方式: 某一個實體有較多欄位,想把實體內的資料顯示到excel中去,但是,又不想低效率的一列一列顯示資料 所以,想把實體物件轉化成list,遍歷表格的同時顯示這個實體的資料. 下面是把實體物件轉化成list和map的方法. 需要引用兩個jar包:commons-b

使用 fastjson 在java中進行 json字串和物件的互

前提:我們在這裡只使用fastjson的轉json的jar依賴包      <!-- 轉json字串 --><dependency>      <groupId>com.alibaba</groupId>      <ar

淺談Java如何將字串成Json物件以及從Json物件中獲得相應的值

前序:在做專案的過程中有次需要將json格式的字元拼接起來作為HTTP請求的一部分,且伺服器響應資訊即收到的返回資訊也是json格式的字串,在做這個專案中請求資訊我是使用字串拼接的,長長的json格式字串讓我拼接了半天,中途出現了幾次錯誤,白白耗費了時間。解析響應的json格

Java中json串物件list

1、示例使用fastjson.jar 2、程式碼呼叫: String json = "{...}"; JSONObject.parseObject(json, new TypeReference<List<json對應的物件名稱>>() {})

JAVA Json字串POJO物件 POJO物件JSON字串 ListJSON JSONList

以下是Json字串轉POJO物件  POJO物件轉JSON字串 List轉JSON JSON轉List的工具類,類中有例子可參照:package cn.rojao.utils;import java.util.List;import cn.rojao.entity.stat.

Json字串與java物件的互

strJson:{"address":"北京市西城區","age":"23","name":"JSON"} strArray:[{"address":"北京市西城區","age":"23","name":"JSON"}] JSON字串--》》java物件上面說明了如何把java物件轉化為JSON字串,下面看如

java 將json字串成複雜物件

簡單說明: 為了方便資料在客戶端及伺服器端的傳輸,有時候我們會用一些比較方便組織的資料型別,比如json、xml等傳給客戶端,客戶端也可以重新組織資料傳回伺服器端。JSON和XML提供了一套比較方便的資料組織形式。。並且有很多現成的類庫用於解析這些資料。。 本文是對n

java jackson 將物件json時,忽略子物件的某個屬性

//父物件 public class user implements java.io.Serializable { @JsonIgnoreProperties(value={"addressId"})//在解析成json時,忽略子屬性的addressId欄位 privat

Java中建立物件的5種方式

作為Java開發者,我們每天建立很多物件,但我們通常使用依賴管理系統,比如Spring去建立物件。然而這裡有很多建立物件的方法,我們會在這篇文章中學到。 Java中有5種建立物件的方式: 使用new關鍵字 這是最常見也是最簡單的建立物件的方式了。通

java實體Entiy物件json與jsonjava實體Entiy

下的欄位屬性有些加了@JSONField 有些沒有,這個主要取決於收到的json格式,如果該json中的所有字串和類的屬性名一直,那麼是無需新增@JSONField這個註解的,如果不一致,為了正常的轉

JAVA父類物件與子類物件-造型轉換[]

描述1:Java中子類物件可以直接賦給父類物件,這個時候父類物件引用的就是子類物件的記憶體空間。例如:class A        {                           ……                       }