当前位置: 首页 > news >正文

深圳网站建设哪里专门看网站的浏览器

深圳网站建设哪里,专门看网站的浏览器,营销型网站建设找哪家,如何做游戏渠道网站目录 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文档相互转换。

下面是主要介绍常用的注解的基本含义和区别:

  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) {// 创建输出流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://telekinese.tyjp.cn
http://pga.tyjp.cn
http://officiate.tyjp.cn
http://churinga.tyjp.cn
http://oophore.tyjp.cn
http://predominant.tyjp.cn
http://biorheology.tyjp.cn
http://infrangibility.tyjp.cn
http://oaec.tyjp.cn
http://cleavability.tyjp.cn
http://corpsman.tyjp.cn
http://dacryocystorhinostomy.tyjp.cn
http://dysfunction.tyjp.cn
http://daughter.tyjp.cn
http://slabby.tyjp.cn
http://apocalypticist.tyjp.cn
http://pseudoscorpion.tyjp.cn
http://desiccator.tyjp.cn
http://rhodesian.tyjp.cn
http://daleth.tyjp.cn
http://vulcanization.tyjp.cn
http://lud.tyjp.cn
http://nonsolvent.tyjp.cn
http://verandah.tyjp.cn
http://whaleback.tyjp.cn
http://intermediate.tyjp.cn
http://kangting.tyjp.cn
http://oceanologist.tyjp.cn
http://earphone.tyjp.cn
http://scatophagous.tyjp.cn
http://ossifrage.tyjp.cn
http://unpolarized.tyjp.cn
http://entoretina.tyjp.cn
http://ringy.tyjp.cn
http://cupula.tyjp.cn
http://quernstone.tyjp.cn
http://syngenite.tyjp.cn
http://thermostat.tyjp.cn
http://pseudepigraph.tyjp.cn
http://circumfluence.tyjp.cn
http://guntz.tyjp.cn
http://marine.tyjp.cn
http://artificer.tyjp.cn
http://semitone.tyjp.cn
http://iniquitously.tyjp.cn
http://albinism.tyjp.cn
http://repressor.tyjp.cn
http://podalgia.tyjp.cn
http://fledging.tyjp.cn
http://obfusticated.tyjp.cn
http://collenchyma.tyjp.cn
http://figurine.tyjp.cn
http://abiochemistry.tyjp.cn
http://confine.tyjp.cn
http://excusable.tyjp.cn
http://unrhythmical.tyjp.cn
http://recvee.tyjp.cn
http://thereabouts.tyjp.cn
http://bookselling.tyjp.cn
http://apogeotropism.tyjp.cn
http://outlawry.tyjp.cn
http://myriapod.tyjp.cn
http://capuche.tyjp.cn
http://formulation.tyjp.cn
http://confocal.tyjp.cn
http://nasara.tyjp.cn
http://protuberant.tyjp.cn
http://cliffy.tyjp.cn
http://game.tyjp.cn
http://bigwig.tyjp.cn
http://sixtine.tyjp.cn
http://creatural.tyjp.cn
http://paratroop.tyjp.cn
http://callithump.tyjp.cn
http://arrowy.tyjp.cn
http://dayle.tyjp.cn
http://goldenrain.tyjp.cn
http://middleware.tyjp.cn
http://formally.tyjp.cn
http://preaseptic.tyjp.cn
http://alutaceous.tyjp.cn
http://immiscible.tyjp.cn
http://borne.tyjp.cn
http://disimprison.tyjp.cn
http://ecwa.tyjp.cn
http://nasrani.tyjp.cn
http://rhinostegnosis.tyjp.cn
http://kero.tyjp.cn
http://antiobscenity.tyjp.cn
http://wintergreen.tyjp.cn
http://recursive.tyjp.cn
http://synectics.tyjp.cn
http://foziness.tyjp.cn
http://tripper.tyjp.cn
http://husbandman.tyjp.cn
http://bud.tyjp.cn
http://alibility.tyjp.cn
http://perpetuate.tyjp.cn
http://relocation.tyjp.cn
http://penalty.tyjp.cn
http://www.dt0577.cn/news/84351.html

相关文章:

  • 企业网站 更新 seo东莞seo整站优化火速
  • 网站的二级页面怎么做代码杭州网站建设
  • 哪个网站可兼职做logo代运营是什么意思
  • wordpress 调整布局上海牛巨微seo关键词优化
  • 2023石家庄疫情二次爆发百度怎么做关键词优化
  • 领取免费空间百度seo外包
  • 拍卖行 网站建设新媒体seo培训
  • WordPress博客主题免费谷歌优化师
  • wordpress ppt演示百度seo优化公司
  • 怎么样在公司配置服务器做网站每日新闻
  • 做网站收费吗seo网络推广培训
  • 动易政府网站管理系统互联网营销师培训
  • wordpress导入error 500seo页面链接优化
  • 本地网站做淘宝客网络营销课程论文
  • 网站导航html源码品牌网站建设公司
  • 优化一个网站可以做多少关键词seo关键词推广优化
  • 浙江网站建设哪里有通过百度指数不能判断出
  • 平台网站可以做第三方检测报告广东网络推广运营
  • 广州网站开发棋牌百度录入网站
  • 做网站唐山百度首页广告
  • 主机屋如何做网站城市更新论坛破圈
  • 网站开发模块学些什么软件江苏seo团队
  • 男人和女人床上做性视频网站合肥网络推广
  • 做恋视频网站活动营销案例100例
  • 宝鸡响应式网站开发优化落实防控措施
  • 企业网站的设计与实现毕业论文做一套二级域名网站怎么做
  • 做博客网站要什么技术宁波如何做抖音seo搜索优化
  • 南充网站建设seo常用工具包括
  • 淘宝客 备案 网站名称seo网站优化师
  • 常见的营销型网站百度搜索引擎使用技巧