中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

上海網站建設培訓班/網站推廣培訓

上海網站建設培訓班,網站推廣培訓,網頁制作工具及用途,wordpress 工作原理目錄 XML和Bean轉換工具簡介JAXB簡介Java Bean類XMLUtil工具類 另一篇轉換方式 xstream實現xml和java bean 互相轉換 XML和Bean轉換工具簡介 Java中實現XML和Bean的轉換的方式或插件有以下幾種: JAXB(Java Architecture for XML Binding)&…

目錄

  • XML和Bean轉換工具簡介
  • JAXB簡介
  • Java Bean類
  • XMLUtil工具類

另一篇轉換方式
xstream實現xml和java bean 互相轉換

XML和Bean轉換工具簡介

Java中實現XML和Bean的轉換的方式或插件有以下幾種:

JAXB(Java Architecture for XML Binding):JAXB是Java SE的一部分,可以將Java對象與XML文檔相互轉換。它提供了注解和XML綁定文件兩種配置方式。

Dom4j:Dom4j是一個開源的Java庫,用于操作XML文檔。它可以將XML文檔轉換為Java對象,也可以將Java對象轉換為XML文檔。

XStream:XStream是一個簡單易用的Java庫,用于序列化和反序列化對象。它可以將Java對象轉換為XML文檔,也可以將XML文檔轉換為Java對象。

SimpleXML:SimpleXML是一個輕量級的Java庫,用于處理XML文檔。它可以將XML文檔轉換為Java對象,也可以將Java對象轉換為XML文檔。

Jackson:Jackson是一個流行的Java庫,用于處理JSON數據。它也支持將Java對象轉換為XML文檔,以及將XML文檔轉換為Java對象。

JiBX:JiBX是一個強大的Java庫,用于處理XML文檔。它可以將Java對象與XML文檔相互轉換,支持多種映射策略。

Castor:Castor是一個高性能的Java庫,用于處理XML文檔。它可以將Java對象與XML文檔相互轉換,支持多種映射策略。

Apache CXF:Apache CXF是一個開源的Web服務框架,提供了許多用于處理XML和SOAP消息的功能。它支持將Java對象與XML文檔相互轉換。

JAXB簡介

這里介紹一下 JAXB,JAXB(Java Architecture for XML Binding)是Java SE的一部分,不需要依賴其他包,可以將Java對象與XML文檔相互轉換。

下面是主要介紹常用的注解的基本含義和區(qū)別:

  1. @XmlAccessorType: 這個注解用來指定類或屬性(字段)的訪問類型。它有四個可能的值:FIELD, TYPE, PROPERTY, ALL。默認情況下,JAXB使用FIELD模式,這意味著JAXB將嘗試訪問類中的所有字段。如果這個注解不存在,那么JAXB將使用默認值。
  2. @XmlRootElement: 這個注解標記一個類作為XML根元素。JAXB將生成一個XML文檔,該文檔包含根元素以及由類字段/屬性定義的任何其他元素。
  3. @XmlElement(name = “Label”): 這個注解表示一個類屬性或字段被映射到一個XML元素,并且這個元素的標簽名稱為"Label"。
  4. @XmlAttribute: 這個注解表示一個類屬性或字段被映射到一個XML屬性。屬性是在XML元素中定義的,并且通常用于表示元素的簡單類型值。
  5. @XmlType(propOrder = {“value”, “category”, “background”}): 這個注解定義了當一個類被映射到XML時,元素和屬性的順序。在這個例子中,"value"是首先出現的元素,"category"和"background"是接下來的元素。如果你在propOrder中沒有指定元素名稱,那么它們將按照它們在類中出現的順序進行映射。

使用這些注解的方式通常是在你的Java類中添加它們。例如下邊的Java Bean類。

Java Bean類

import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;import lombok.Getter;
import lombok.Setter;import java.io.Serializable;@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "View")
@XmlType(propOrder = {})
@Getter
@Setter
public class View implements Serializable {private static final long serialVersionUID = 4678366086955878610L;@XmlElement(name = "Image")private Image image;@XmlElement(name = "Table")private Table table;@XmlElement(name = "Text")private Text text;@XmlElement(name = "Choices")private Choices choices;@XmlElement(name = "RectangleLabels")private RectangleLabels rectangleLabels;@XmlElement(name = "Labels")private Labels labels;@XmlElement(name = "Rectangle")private Rectangle rectangle;@XmlElement(name = "Polygon")private Polygon polygon;@XmlElement(name = "TextArea")private TextArea textArea;}
import java.io.Serializable;
import java.util.List;import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;import lombok.Getter;
import lombok.Setter;@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Labels")
@XmlType(propOrder = {"name","toName","labelList"
})
@Setter
@Getter
public class Labels implements Serializable {private static final long serialVersionUID = 4017289488745470829L;@XmlAttributeprivate String name;@XmlAttributeprivate String toName;@XmlElement(name = "Label")private List<Label> labelList;
}
import java.io.Serializable;import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;import lombok.Getter;
import lombok.Setter;@XmlAccessorType(XmlAccessType.FIELD)
// XML文件中的根標識
@XmlRootElement(name = "Label")
// 控制JAXB 綁定類中屬性和字段的排序
@XmlType(propOrder = {"value","category","background"
})
@Getter
@Setter
public class Label implements Serializable {private static final long serialVersionUID = 5135918993113626857L;@XmlAttributeprivate String value;@XmlAttributeprivate String category;@XmlAttributeprivate String background;
}

XMLUtil工具類

import java.io.StringReader;
import java.io.StringWriter;import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;import lombok.extern.slf4j.Slf4j;@Slf4j
public class XMLUtil {private XMLUtil(){}public static Object convertXMLToObject(Class<?> clazz, String xml) {Object xmlObject = null;try {JAXBContext context = JAXBContext.newInstance(clazz);// 進行將Xml轉成對象的核心接口Unmarshaller unmarshaller = context.createUnmarshaller();StringReader sr = new StringReader(xml);xmlObject = unmarshaller.unmarshal(sr);} catch (Exception ex) {log.error("XML轉換對象失敗", ex);}return xmlObject;}public static String convertToXml(Object obj) {// 創(chuàng)建輸出流StringWriter sw = new StringWriter();try {// 利用jdk中自帶的轉換類實現JAXBContext context = JAXBContext.newInstance(obj.getClass());Marshaller marshaller = context.createMarshaller();// 格式化xml輸出的格式 true 帶格式化 false 不帶格式化marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");// true 忽略xml頭信息marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);// 將對象轉換成輸出流形式的xmlmarshaller.marshal(obj, sw);} catch (JAXBException e) {log.error("對象轉XML失敗", e);}return sw.toString();}}
http://www.risenshineclean.com/news/164.html

相關文章:

  • 模板式網站建設/市場監(jiān)督管理局投訴電話
  • b站黃頁推廣2023更新/電腦版百度網盤
  • 花錢做網站注意些什么/百度關鍵詞排名批量查詢工具
  • 在建工程查詢網站/網站自然優(yōu)化
  • 專門設計網站的公司叫什么/免費推廣網站推薦
  • 今日的上海發(fā)布/網站排名優(yōu)化軟件有哪些
  • 電商模板免費下載/資源企業(yè)網站排名優(yōu)化價格
  • 做網站泰安/網絡營銷戰(zhàn)略有什么用
  • 大良營銷網站建設效果/seo推廣怎么做
  • 建設銀行的社會招聘網站/網站seo課設
  • 做網站的公司不會設計/市場營銷實際案例
  • 用java做網站教程/佛山百度快速排名優(yōu)化
  • 義烏網站建設方式/網站是怎么做的
  • 免費二級網站/關鍵詞優(yōu)化難度分析
  • 網站做關鍵詞鏈接有用嗎/制作網站要花多少錢
  • 做網站要怎么備案/品牌推廣是做什么的
  • 錦州網站建設哪家好/seo的基本步驟是什么
  • 個人做慈善網站/北京中文seo
  • 新網個人網站備案/關鍵詞查詢網
  • 網站建設進度說明/app營銷策劃方案
  • 網站用社交圖標做鏈接侵權嗎/網絡營銷外包
  • 找到網站永久域名/網站設計服務企業(yè)
  • wordpress支付寶/泰安網站推廣優(yōu)化
  • 第1063章 自己做視頻網站/深圳網絡營銷軟件
  • 國內flask做的網站/企業(yè)建網站一般要多少錢
  • 哪個網站域名便宜/資源搜索引擎
  • 物流管理網站怎么做/百度指數移動版app
  • 河南網站優(yōu)化推廣/免費域名的網站
  • 承德房地產網站建設/中國域名注冊局官網
  • 學校網站模板wordpress/免費建站網站網頁