程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 簡單Java類與XML之間的轉換,javaxml轉換

簡單Java類與XML之間的轉換,javaxml轉換

編輯:JAVA綜合教程

簡單Java類與XML之間的轉換,javaxml轉換


  

需要的jar包:xmlpull_1_0_5.jar,xstream-1.4.1.jar)

  1、工具類XstreamUtil

  package com.learn.util;

 import com.thoughtworks.xstream.XStream;

 import com.thoughtworks.xstream.io.xml.DomDriver;

  /**

   *

   * @ClassName: XstreamUtil.java

   * @Description:

   * @author: fengzf [email protected]

   * @Date: 2016年12月6日

   *

   */

  publicclass XstreamUtil {

     /**

      * 將bean轉換為xml

      * @param obj  轉換的bean

      *@return bean轉換為xml

      */

     publicstatic String objectToXml(Object obj) {

        XStream xStream = new XStream();

        // xstream使用注解轉換

        xStream.processAnnotations(obj.getClass());

        returnxStream.toXML(obj);

     }

     /**

      * 將xml轉換為bean

      * @param<T>     泛型

      * @param xml       要轉換為bean的xml

      * @param cls   bean對應的Class

      * @return xml轉換為bean

      */

     publicstatic <T> T xmlToObject(String xml, Class<T> cls) {

        XStream xstream = new XStream(new DomDriver());

        // xstream使用注解轉換

        xstream.processAnnotations(cls);

        return (T) xstream.fromXML(xml);

     }

  }

 2、Java普通實體類轉xml

           實體類Message.java代碼

  package com.learn.entity;

  import com.thoughtworks.xstream.annotations.XStreamAlias;

 

  @XStreamAlias("Response")

  publicclass Message {

 

     @XStreamAlias("returncode")

     private String returnCode;

 

     @XStreamAlias("returnmessage")

     private String returnMessage;

 

     @XStreamAlias("status")

    privateintstatus;

 

     @XStreamAlias("time")

     private String reqTime;

 

     public String getReturnCode() {

        returnreturnCode;

     }

 

     publicvoid setReturnCode(String returnCode) {

        this.returnCode = returnCode;

     }

     public String getReturnMessage() {

        returnreturnMessage;

    }

     publicvoid setReturnMessage(String returnMessage) {

        this.returnMessage = returnMessage;

     }

     publicint getStatus() {

        returnstatus;

     }

     publicvoid setStatus(intstatus) {

        this.status = status;

     }

     public String getReqTime() {

        returnreqTime;

     }

     publicvoid setReqTime(String reqTime) {

        this.reqTime = reqTime;

      }

   }  

 

3、XML字符串轉實體

@XStreamAlias使用

一、 特點:

簡化的API; 
無映射文件; 
高性能,低內存占用; 
整潔的XML; 
不需要修改對象;支持內部私有字段,不需要setter/getter方法 
提供序列化接口; 
自定義轉換類型策略; 

二、 使用場景

Transport轉換 
Persistence 持久化對象 
Configuration 配置 
Unit Tests 單元測試

Interface服務之間XML消息的交互

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved