iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用JAXBContext实现Java和xml的互相转换
  • 272
分享到

如何使用JAXBContext实现Java和xml的互相转换

2023-06-20 20:06:46 272人浏览 泡泡鱼
摘要

这篇文章主要介绍了如何使用JAXBContext实现Java和xml的互相转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JAXBContext实现Java和xml的互相转

这篇文章主要介绍了如何使用JAXBContext实现Java和xml的互相转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

JAXBContext实现Java和xml的互相转换

类文件注解:@XmlRootElement不可缺少

<span >@XmlRootElement  public class Man {      private String name;      private int age;    public Student() {          super();      }     public Student(String name, int age) {          super();          this.name = name;          this.age = age;      }      public String getName() {          return name;      }      public void setName(String name) {          this.name = name;      }      public int getAge() {          return age;      }      public void setAge(int age) {          this.age = age;      }   }  </span>

Java 转换 Xml:

@Test  public void testJava2Xml(){      try {          JAXBContext jc = JAXBContext.newInstance(Man.class);          Marshaller ms = jc.createMarshaller();          Man man = new Man("man",100);          ms.marshal(man, System.out);      } catch (JAXBException e) {          e.printStackTrace();      }  }

Xml 转换 Java:

@Test  public void testXml2Java() throws JAXBException{      String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Man><age>100</age><name>man</name></Man>";      JAXBContext jc = JAXBContext.newInstance(Man.class);      Unmarshaller unmar = jc.createUnmarshaller();      Man man = (Man) unmar.unmarshal(new StringReader(xml));      System.out.println(man.getName());  }

JAXBContext 解析 xml

前提:

package com.sGCc.load.vo;import java.util.ArrayList;import java.util.List;import javax.xml.bind.annotation.XmlAccessType;import javax.xml.bind.annotation.XmlAccessorType;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gldxresult")@XmlAccessorType(XmlAccessType.FIELD)public class XmlAnalysis { // 泛化, 聚合 @XmlElement(name = "success")private String success;@XmlElement(name = "totalnum")private String totalnum;      @XmlElement(name = "accounts")    List<Accounts> accounts = new ArrayList<>();  public List<Accounts> getAccounts() {return accounts;} public void setAccounts(List<Accounts> accounts) {this.accounts = accounts;} public String getSuccess() {return success;} public void setSuccess(String success) {this.success = success;} public String getTotalnum() {return totalnum;} public void setTotalnum(String totalnum) {this.totalnum = totalnum;}  }
package com.sgcc.load.vo; import java.util.ArrayList;import java.util.List; import javax.xml.bind.annotation.XmlAccessType;import javax.xml.bind.annotation.XmlAccessorType;import javax.xml.bind.annotation.XmlElement; @SuppressWarnings("serial")@XmlAccessorType(XmlAccessType.FIELD)public class Accounts extends ArrayList<Account>{      @XmlElement(name = "account")   public List<Account> getAccount() {        return this;   }   }
package com.sgcc.load.vo;import javax.xml.bind.annotation.XmlAccessType;import javax.xml.bind.annotation.XmlAccessorType;import javax.xml.bind.annotation.XmlElement; @XmlAccessorType(XmlAccessType.FIELD)public class Account {@XmlElement(name = "seqid")private String seqid;    @XmlElement(name = "dxid")    private String dxid;    @XmlElement(name = "compid")    private String compid;    @XmlElement(name = "rspcode")    private String rspcode;    @XmlElement(name = "code")    private String code;    @XmlElement(name = "name")    private String name;         public String getSeqid() {return seqid;}public void setSeqid(String seqid) {this.seqid = seqid;}public String getDxid() {return dxid;}public void setDxid(String dxid) {this.dxid = dxid;}public String getCompid() {return compid;}public void setCompid(String compid) {this.compid = compid;}public String getRspcode() {return rspcode;}public void setRspcode(String rspcode) {this.rspcode = rspcode;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getName() {return name;}public void setName(String name) {this.name = name;}      }

测试

package com.sgcc.load.test; import java.io.StringReader; import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBException;import javax.xml.bind.Unmarshaller; import com.sgcc.load.vo.Accounts;import com.sgcc.load.vo.XmlAnalysis; import groovyjarjarcommonscli.ParseException; public class Test {private static XmlAnalysis transToVOs(String WEBserviceMsg) throws JAXBException, ParseException {final StringReader reader = new StringReader(webserviceMsg);JAXBContext ctx=JAXBContext.newInstance(new XmlAnalysis().getClass());Unmarshaller um=ctx.createUnmarshaller();XmlAnalysis ds=(XmlAnalysis)um.unmarshal(reader);return ds;}public static void main(String[] args) {String xmlMsg = "<?xml version=\"1.0\" encoding=\"GBK\"?> \n<gldxresult><success>0</success><totalnum>1</totalnum>"+"<accounts><yzy>hahaha</yzy><account><seqid></seqid><dxid>1136005118</dxid><compid>0603</compid><rspcode>New0001</rspcode><rspmsg>值:00 没有匹配到分类</rspmsg>"+"<code>EHBSXPZYFDC000</code><name>哈哈哈哈哈哈哈哈哈</name></account></accounts></gldxresult>";try{XmlAnalysis transToVOs = transToVOs(xmlMsg);            for(int index = 0;index<transToVOs.getAccounts().get(0).getAccount().size();index++){    System.out.println(transToVOs.getAccounts().get(0).getAccount().get(index).getName());            }}catch(Exception e){e.printStackTrace();}}}

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用JAXBContext实现Java和xml的互相转换”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 如何使用JAXBContext实现Java和xml的互相转换

本文链接: https://www.lsjlt.com/news/300110.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用JAXBContext实现Java和xml的互相转换
    这篇文章主要介绍了如何使用JAXBContext实现Java和xml的互相转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JAXBContext实现Java和xml的互相转...
    99+
    2023-06-20
  • 使用JAXBContext轻松实现Java和xml的互相转换方式
    JAXBContext实现Java和xml的互相转换 类文件注解:@XmlRootElement不可缺少 <span style="font-size:14px;">...
    99+
    2024-04-02
  • C#实现实体类和XML的相互转换
    一、实体类转换成XML 将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化 public static string XmlSerial...
    99+
    2024-04-02
  • 实体类和xml文件如何相互转换
    这篇文章给大家分享的是有关实体类和xml文件如何相互转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体代码如下:package com.pcq.entity; i...
    99+
    2024-04-02
  • java--- xml和对象之间的互相转换
    例子是把xml映射成bean成对象 第一种方法是使用 JAXB(Java Architecture for XML Binding) 实现XML与Bean的相互转换 简介 JAXB是一个业界的标准,是一项可以根据X...
    99+
    2023-08-31
    java
  • C#使用XSLT实现xsl、xml与html相互转换
    目录一、转为html文档1、xsl文件2、转换3、结果二、转为xml文档1、prices.xsl2、转换XsltArgumentList.AddExtensionObject三 、调...
    99+
    2024-04-02
  • C#怎么实现实体类和XML的相互转换
    这篇文章主要为大家展示了“C#怎么实现实体类和XML的相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#怎么实现实体类和XML的相互转换”这篇文章吧。一、实体类转换成XML将实体类转换成...
    99+
    2023-06-29
  • C#怎么使用XSLT实现xsl、xml与html相互转换
    这篇“C#怎么使用XSLT实现xsl、xml与html相互转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么使用XS...
    99+
    2023-06-30
  • Tensor和NumPy相互转换的实现
    目录1. Tensor 转 NumPy2. NumPy 数组转 Tensor3. torch.tensor() 将 NumPy 数组转换成 Tensor我们很容易用numpy()和f...
    99+
    2023-02-10
    Tensor NumPy转换 Tensor NumPy 相互转换
  • Java BeanMap如何实现Bean与Map的相互转换
    本篇内容主要讲解“Java BeanMap如何实现Bean与Map的相互转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java BeanMap如何实现Bean与Map的相...
    99+
    2023-07-04
  • java中JSONArray互相转换List的实现
    目录1:JSONArray转List2:List转JSONArray1:JSONArray转List JSONArray字符串 转 List //初始化JSONArray JSONA...
    99+
    2024-04-02
  • java项目中如何实现集合的相互转换
    这篇文章给大家介绍java项目中如何实现集合的相互转换,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.List转换为ArrayList<String> list = new ArrayList<St...
    99+
    2023-05-31
    java 集合转换 相互
  • Java怎么实现Unicode和中文相互转换
    在Java中,可以使用java.nio.charset.StandardCharsets类和java.lang.String类来实现...
    99+
    2023-10-18
    Java
  • Java中栈和队列如何相互转换
    这篇文章将为大家详细讲解有关Java中栈和队列如何相互转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。栈和队列的本质是相同的,都只能在线性表的一端进行插入和删除。因此,栈和队列可以相互转换。用栈实现队列...
    99+
    2023-06-29
  • Java实体和JSON之间的相互转换
    Java实体和JSON之间的相互转换 一、先写一个测试用的Java实体二、将Java实体转化为Json1、基于com.alibaba.fastjson.JSON(1)、JSON.toJSONS...
    99+
    2023-09-10
    java json 开发语言
  • python中CURL和python requests的相互转换如何实现
    今天小编给大家分享一下python中CURL和python requests的相互转换如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,...
    99+
    2023-07-05
  • 【PyTorch如何实现CPU、GPU相互转换?】
    拒绝CPU,PyTorch如何切换GPU计算? 问题的提出1.CPU_to_GPU——定义device对象2.CPU_to_GPU——.cuda()方法3.GPU_to_CPU——.cpuEn...
    99+
    2023-09-11
    pytorch 深度学习 python 人工智能
  • 如何用ADO.NET实现txt与Excel的互相转换
    本篇文章为大家展示了如何用ADO.NET实现txt与Excel的互相转换,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在园子里看过很多文章,关于设计模式,关于架构等等,我在这里谈谈一些软件的功能,为...
    99+
    2023-06-17
  • Java中String和Char的相互转换
    一、String类型转化为char类型二、char类型转化为String类型 一、String类型转化为char类型 用String.charAt()来让String类型转化为cha...
    99+
    2023-09-01
    java
  • 如何使用python opencv实现灰度图和彩色图的互相转换
    这篇文章将为大家详细讲解有关如何使用python opencv实现灰度图和彩色图的互相转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。opencv灰度图和彩色图互相转换如果摄像头本来就得到3维...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作