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

帝国建设网站网站制作模板软件

帝国建设网站,网站制作模板软件,专门做颜料的网站,站长工具综合查询系统目录 XML和Bean转换工具简介JAXB简介Java Bean类XMLUtil工具类 另一篇转换方式 xstream实现xml和java bean 互相转换 XML和Bean转换工具简介 Java中实现XML和Bean的转换的方式或插件有以下几种#xff1a; JAXB#xff08;Java Architecture for XML Binding#xff09; JAXBJava Architecture for XML BindingJAXB是Java SE的一部分可以将Java对象与XML文档相互转换。它提供了注解和XML绑定文件两种配置方式。 Dom4jDom4j是一个开源的Java库用于操作XML文档。它可以将XML文档转换为Java对象也可以将Java对象转换为XML文档。 XStreamXStream是一个简单易用的Java库用于序列化和反序列化对象。它可以将Java对象转换为XML文档也可以将XML文档转换为Java对象。 SimpleXMLSimpleXML是一个轻量级的Java库用于处理XML文档。它可以将XML文档转换为Java对象也可以将Java对象转换为XML文档。 JacksonJackson是一个流行的Java库用于处理JSON数据。它也支持将Java对象转换为XML文档以及将XML文档转换为Java对象。 JiBXJiBX是一个强大的Java库用于处理XML文档。它可以将Java对象与XML文档相互转换支持多种映射策略。 CastorCastor是一个高性能的Java库用于处理XML文档。它可以将Java对象与XML文档相互转换支持多种映射策略。 Apache CXFApache CXF是一个开源的Web服务框架提供了许多用于处理XML和SOAP消息的功能。它支持将Java对象与XML文档相互转换。 JAXB简介 这里介绍一下 JAXBJAXBJava Architecture for XML Binding是Java SE的一部分不需要依赖其他包可以将Java对象与XML文档相互转换。 下面是主要介绍常用的注解的基本含义和区别 XmlAccessorType: 这个注解用来指定类或属性字段的访问类型。它有四个可能的值FIELD, TYPE, PROPERTY, ALL。默认情况下JAXB使用FIELD模式这意味着JAXB将尝试访问类中的所有字段。如果这个注解不存在那么JAXB将使用默认值。XmlRootElement: 这个注解标记一个类作为XML根元素。JAXB将生成一个XML文档该文档包含根元素以及由类字段/属性定义的任何其他元素。XmlElement(name “Label”): 这个注解表示一个类属性或字段被映射到一个XML元素并且这个元素的标签名称为Label。XmlAttribute: 这个注解表示一个类属性或字段被映射到一个XML属性。属性是在XML元素中定义的并且通常用于表示元素的简单类型值。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 ListLabel 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://www.w-s-a.com/news/445748/

相关文章:

  • 做网站go和python手机如何创网站
  • 网站开发进修网站做301将重定向到新域名
  • 公司网站开发费用账务处理ucenter wordpress
  • 六站合一的优势少儿编程机构
  • 软件开发与网站开发学做美食网站哪个好
  • 网站搜索 收录优化百度推广页面投放
  • 响应式网站的优点浙江省网站域名备案
  • 网站安全 扫描深圳被点名批评
  • 在哪个网站可以一对一做汉教网站优化策略
  • 龙岩做网站的顺企网宁波网站建设
  • 昆山网站建设河北连锁餐厅vi设计公司
  • 新蔡县住房和城乡建设局网站南昌租房网地宝网
  • 南宁做网站费用iis编辑网站绑定
  • 家用宽带做网站服务器建网站费用明细
  • 电商 网站 降低 跳出率 措施 效果书画院网站模板
  • 兰州移动官网网站建设上海工商网上公示系统
  • 在招聘网站里做电话销售免费空间可以上传网站吗
  • 梅州建站怎么做中国建设银行官网下载
  • 网站静态化设计广州网站备案方案
  • 西安网络技术有限公司网站扬中网站建设方案
  • 青海省教育厅门户网站wordpress core
  • idc科技公司网站模板蜜雪冰城网络营销案例分析
  • 微信与网站对接手机软件怎么做
  • 户县网站建设珠海专业制作网站
  • 麦当劳的网站优化建议猎头公司工作怎么样
  • 合肥地区网站制作网页浏览器打不开
  • 做网站的不给ftp网站如何做触屏滑动
  • wordpress statraq重庆百度优化
  • 企业网站官网英文WordPress站点切换为中文
  • 服装公司网站定位一点号自媒体平台