返回顶部
首页 > 资讯 > 精选 >如何使用JAXBContext设置xml节点属性
  • 294
分享到

如何使用JAXBContext设置xml节点属性

2023-06-20 21:06:30 294人浏览 八月长安
摘要

这篇文章给大家分享的是有关如何使用JAXBContext设置xml节点属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JAXBContext 设置xml节点属性在使用JAXBContext将javaBean转化

这篇文章给大家分享的是有关如何使用JAXBContext设置xml节点属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

JAXBContext 设置xml节点属性

在使用JAXBContext将javaBean转化为xml时

会出现这样的需求:

<xml version="2.0">    ....</xml>

那么xml节点里的属性值version需要怎么设置

使用@XmlAttribute标签即可,如下代码。

@XmlRootElement(name = "Xml")@XmlAccessorType(XmlAccessType.FIELD)public class RequestBean{     @XmlAttribute(name = "version") //设置节点属性    private String version;     private Body body;             @XmlElement(name = "sign")  //设置子节点    private String sign;     //省略封装} @XmlRootElement(name = "Body")@XmlAccessorType(XmlAccessType.FIELD)public class Body{    ...}

最终得到的xml文件大致为:

<Xml version="2.0">    <sign>111111</sign>    <Body> <Amount>111</Amount> <Fee>fee</Fee> <PayerName>payname</PayerName> <AccountType>accountType</AccountType>    </Body></Xml>

JAXBContext解析XML集合对象

@XmlElementWrapper 为数组元素或集合元素定义一个父节点。

如,类中有一元素为List items,若不加此注解,该元素将被映射为

<items>...</items>    <items>...</items>

这种形式,此注解可将这个元素进行包装,如:

@XmlElementWrapper(name="items")    @XmlElement(name="item")    public List items;

将会生成这样的XML样式:

<items>        <item>...</item>        <item>...</item>    </items>

Demo如下:

实体类一(定义一个被包含的子项Item):
package org.ywzn.po; import javax.xml.bind.annotation.XmlAttribute; public class Item {  private String infoType;  private String nodeId;  private String resultCode;  private String resultString;  public Item() {  super(); }  public Item(String infoType, String nodeId, String resultCode,   String resultString) {  super();  this.infoType = infoType;  this.nodeId = nodeId;  this.resultCode = resultCode;  this.resultString = resultString; }  @XmlAttribute(name = "InfoType") public String getInfoType() {  return infoType; }  public void setInfoType(String infoType) {  this.infoType = infoType; }  public String getNodeId() {  return nodeId; }  public void setNodeId(String nodeId) {  this.nodeId = nodeId; }  public String getResultCode() {  return resultCode; }  public void setResultCode(String resultCode) {  this.resultCode = resultCode; }  public String getResultString() {  return resultString; }  public void setResultString(String resultString) {  this.resultString = resultString; } }
实体类二(定义一个有List集合的实体类):
package org.ywzn.po; import java.util.List; import javax.xml.bind.annotation.XmlAttribute;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlElementWrapper;import javax.xml.bind.annotation.XmlRootElement; @XmlRootElementpublic class Message {  private String version;  private Head head;  private List<Item> items;  @XmlAttribute(name="version") public String getVersion() {  return version; }  public void setVersion(String version) {  this.version = version; }  @XmlElement(name="Head") public Head getHead() {  return head; }  public void setHead(Head head) {  this.head = head; }  public List<Item> getItems() {  return items; }  @XmlElementWrapper(name="Items") @XmlElement(name="Item") public void setItems(List<Item> items) {  this.items = items; }  }
测试方法:
package org.ywzn.main; import java.util.ArrayList;import java.util.List; import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBException;import javax.xml.bind.Marshaller; import org.ywzn.po.Head;import org.ywzn.po.Item;import org.ywzn.po.Message;import org.ywzn.po.Parameters;import org.ywzn.po.Room; public class Java2XMLMany {  public static void main(String[] args) {  // <?xml version='1.0' encoding='UTF-8' standalone='no' ?> <Message  // version='1.0'><Header Time='2015-05-22 10:34:27' MessageType='LOGIN'  // BusinessId='B730EB39-CEFF-4a38-B633-D8936EB8AEF7' SessionId='936'  // /><Parameters> <items Sum='1' Offset='1' Cur='1'> <item  // Infotype='LogUser'> <PassWord  // >D41D8CD98F00B204E9800998ECF8427E</PassWord></item> </items>  // </Parameters> </Message>   // TODO Auto-generated method stub  Item item = new Item("LOGIN","789", "xxx","xxx");  List<Item> list = new ArrayList<Item>();  list.add(item);  Head head = new Head("2015-05-21 16:46:14", "LOGIN", "8D24CE2B-5");  Parameters parameters = new Parameters(list);  // Message message = new Message(head,"1.0",parameters);  Message message = new Message();  message.setVersion("1.0");  message.setHead(head);  message.setItems(list);  try {   JAXBContext context = JAXBContext.newInstance(Message.class);   Marshaller createMarshaller = context.createMarshaller();   createMarshaller     .setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);// 是否格式化生成的xml串    createMarshaller.marshal(message, System.out);  } catch (JAXBException e) {   e.printStackTrace();  } } }
输出:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><message version="1.0">    <Head businessId="8D24CE2B-5" MessageType="LOGIN" Time="2015-05-21 16:46:14"/>    <Items>        <Item InfoType="LOGIN">            <nodeId>789</nodeId>            <resultCode>xxx</resultCode>            <resultString>xxx</resultString>        </Item>    </Items></message>

感谢各位的阅读!关于“如何使用JAXBContext设置xml节点属性”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何使用JAXBContext设置xml节点属性

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

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

猜你喜欢
  • 如何使用JAXBContext设置xml节点属性
    这篇文章给大家分享的是有关如何使用JAXBContext设置xml节点属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JAXBContext 设置xml节点属性在使用JAXBContext将javaBean转化...
    99+
    2023-06-20
  • 使用JAXBContext 设置xml节点属性
    JAXBContext 设置xml节点属性 在使用JAXBContext将javaBean转化为xml时 会出现这样的需求: <xml version="2.0"> ...
    99+
    2024-04-02
  • java如何修改xml属性节点的值
    在Java中,可以使用DOM解析器来修改XML属性节点的值。下面是一个示例代码:```javaimport java.io.File...
    99+
    2023-09-11
    java
  • 如何使用JAXBContext实现Java和xml的互相转换
    这篇文章主要介绍了如何使用JAXBContext实现Java和xml的互相转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JAXBContext实现Java和xml的互相转...
    99+
    2023-06-20
  • jquery如何修改父节点属性
    这篇文章主要讲解了“jquery如何修改父节点属性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery如何修改父节点属性”吧! ...
    99+
    2024-04-02
  • jQuery如何设置属性
    小编给大家分享一下jQuery如何设置属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!设置属性 - attr()jQuery ...
    99+
    2024-04-02
  • javascript如何修改元素节点的属性
    这篇文章给大家分享的是有关javascript如何修改元素节点的属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 修改方法:1、使用setAttri...
    99+
    2024-04-02
  • 如何使用JavaScript动态设置CSS3属性值
    这篇文章将为大家详细讲解有关如何使用JavaScript动态设置CSS3属性值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用JavaSc...
    99+
    2024-04-02
  • vps节点名字如何设置
    VPS节点的名字可以根据个人偏好和需求进行设置。一般情况下,可以按照以下几种方式来命名VPS节点:1. 根据地理位置:可以根据VPS...
    99+
    2023-08-11
    vps
  • javascript如何设置value属性
    这篇文章主要介绍了javascript如何设置value属性,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。javascript中设置value属性的方法:首先使用docume...
    99+
    2023-06-14
  • react如何设置style属性
    这篇文章主要讲解了“react如何设置style属性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何设置style属性”吧!react设置style属性的方法:1、通过“<...
    99+
    2023-07-05
  • javascript如何获取id属性的节点对象
    javascript中获取id属性的节点对象的方法:可以使用“getElementById”方法获取对象数组;语法格式为:“document.getElementById('demo') ”,这里“demo”指的是元素对应的...
    99+
    2024-04-02
  • css中如何使用vertical-align属性设置垂直
    这篇文章主要介绍了css中如何使用vertical-align属性设置垂直,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 vertical...
    99+
    2024-04-02
  • 如何使用CSS的border-radius属性设置圆弧
    小编给大家分享一下如何使用CSS的border-radius属性设置圆弧,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:使用css的border-radius...
    99+
    2023-06-08
  • jquery中如何为某个li节点增加属性
    这篇文章主要介绍“jquery中如何为某个li节点增加属性”,在日常操作中,相信很多人在jquery中如何为某个li节点增加属性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • javascript如何设置按钮属性
    这篇文章主要介绍了javascript如何设置按钮属性,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 javas...
    99+
    2024-04-02
  • css如何设置标签属性
    这篇文章主要讲解了“css如何设置标签属性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css如何设置标签属性”吧! css设置...
    99+
    2024-04-02
  • CSS表格属性如何设置
    本文小编为大家详细介绍“CSS表格属性如何设置”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS表格属性如何设置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果良好的表属性...
    99+
    2024-04-02
  • mysql如何设置唯一属性
    在mysql中设置唯一属性的方法:1.启动mysql;2.登录mysql数据库;3.进入数据表;4.执行命令设置唯一属性;具体步骤如下:首先,在命令行中启动mysql服务;service mysql start  mysql服务启动后,输入...
    99+
    2024-04-02
  • css图片属性如何设置
    在css中设置图片属性的方法:1.使用box-shadow属性设置图片阴影;2.使用border属性设置图片边框;3.使用border-radius属性设置图片圆角;4.使用max-width属性设置图片宽度自适应;在css中设置图片属性的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作