为了进行测试,我使用了JAXB从Object生成XML.这项工作很好.代码如下.

package com.mns.mnsutilities.jaxb.model;

import java.util.List;

import javax.xml.bind.annotation.*;

@XmlRootElement(name="Emp_MNS")

@XmlType(propOrder= {"name", "age", "role", "gender", "addressesList"})

public class Employee {

private int id;

private String gender;

private int age;

private String name;

private String role;

private String password;

private List

addressesList;

public Employee() {}

public Employee(int id, String gender, int age, String name, String role,

String password) {

super();

this.id = id;

this.gender = gender;

this.age = age;

this.name = name;

this.role = role;

this.password = password;

}

public Employee(int id, String gender, int age, String name, String role,

String password, List

addressesList) {

super();

this.id = id;

this.gender = gender;

this.age = age;

this.name = name;

this.role = role;

this.password = password;

this.addressesList = addressesList;

}

@XmlAttribute

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

@XmlElement(name = "gen")

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

// @XmlNullPolicy(emptyNodeRepresentsNull = true, nullRepresentationForXml = XmlMarshalNullRepresentation.EMPTY_NODE)

@XmlElement(nillable=true)

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getRole() {

return role;

}

public void setRole(String role) {

this.role = role;

}

@XmlTransient

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

@XmlElement(name = "addresses")

public List

getAddressesList() {

return addressesList;

}

public void setAddressesList(List

addressesList) {

this.addressesList = addressesList;

}

@Override

public String toString() {

return "Employee [id=" + id + ", gender=" + gender + ", age=" + age

+ ", name=" + name + ", role=" + role + ", password="

+ password + ", addressesList=" + addressesList + "]";

}

}

和:

package com.mns.mnsutilities.jaxb.model;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(namespace="")

public class Address {

private String street;

private String city;

private String zipCode;

private String country;

public Address() {}

public Address(String street, String city, String zipCode, String country) {

super();

this.street = street;

this.city = city;

this.zipCode = zipCode;

this.country = country;

}

public String getStreet() {

return street;

}

public void setStreet(String street) {

this.street = street;

}

public String getCity() {

return city;

}

public void setCity(String city) {

this.city = city;

}

public String getZipCode() {

return zipCode;

}

public void setZipCode(String zipCode) {

this.zipCode = zipCode;

}

public String getCountry() {

return country;

}

public void setCountry(String country) {

this.country = country;

}

@Override

public String toString() {

return "Address [street=" + street + ", city=" + city + ", zipCode="

+ zipCode + ", country=" + country + "]";

}

}

我的主要课程是:

package com.mns.mnsutilities.jaxb.batch;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

import javax.xml.bind.JAXBContext;

import javax.xml.bind.JAXBException;

import javax.xml.bind.Marshaller;

import javax.xml.bind.Unmarshaller;

import com.mns.mnsutilities.jaxb.model.Address;

import com.mns.mnsutilities.jaxb.model.Employee;

public class LaunchAction {

private static final String FILE_NAME = "output/CT3D_XML_SAMPLE_FINAL.xml";

public static void main(String[] args) {

Employee emp = new Employee();

emp.setId(1);

emp.setAge(25);

emp.setName("Yovan");

emp.setGender("Male");

emp.setRole("Developer");

emp.setPassword("sensitive");

List

addressesList = new ArrayList<>();

Address address1 = new Address("Main Road", "Ebene", "11111", "Mauritius");

Address address2 = new Address("Royal Road", "Rose-Hill", "2222", "Mauritius");

addressesList.add(address1);

addressesList.add(address2);

emp.setAddressesList(addressesList);

jaxbObjectToXML(emp);

Employee empFromFile = jaxbXMLToObject();

System.out.println(empFromFile.toString());

}

private static Employee jaxbXMLToObject() {

try {

JAXBContext context = JAXBContext.newInstance(Employee.class);

Unmarshaller un = context.createUnmarshaller();

Employee emp = (Employee) un.unmarshal(new File(FILE_NAME));

return emp;

} catch (JAXBException e) {

e.printStackTrace();

}

return null;

}

private static void jaxbObjectToXML(Employee emp) {

try {

JAXBContext context = JAXBContext.newInstance(Employee.class);

Marshaller m = context.createMarshaller();

//for pretty-print XML in JAXB

m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

// Write to System.out for debugging

m.marshal(emp, System.out);

// Write to File

m.marshal(emp, new File(FILE_NAME));

} catch (JAXBException e) {

e.printStackTrace();

}

}

}

XML输出为:

25

Developer

Juggoo

Ebene

Mauritius

Main Road

11111

Rose-Hill

Mauritius

Royal Road

2222

我真正想拥有的是:

25

Developer

Juggoo

**

**

Ebene

Mauritius

Main Road

11111

**

**

**

**

Rose-Hill

Mauritius

Royal Road

2222

**

**

您能指导我如何进行吗?

jaxb xml 生成 java_java-如何使用JAXB定制XML导出相关推荐

  1. jaxb xml 生成 java_使用 JAXB 工具根据 Java 类生成 XML 模式

    使用 JAXB 工具根据 Java 类生成 XML 模式 2010-06-10 18:24:26|  分类: web service |字号 订阅 关键字: java to xml 使用 JAXB 工 ...

  2. jaxb xsd生成xml_使用JAXB从XSD生成XML

    jaxb xsd生成xml 这是最初由JCG合作伙伴 Experiences Unlimited的Mohamed Sanaulla发表的帖子. Mohamed解释了如何使用JAXB从给定的XSD生成X ...

  3. java xml amp_Javaamp;Xml教程(十一)JAXB实现XML与Java对象转换

    JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,可以帮助开发人员非常方便的將XML和Java对象进行相互转换. 本文以一个简单 ...

  4. jaxb xsd生成xml_使用JAXB和Jackson从XSD生成JSON模式

    jaxb xsd生成xml 在本文中,我演示了一种从XML Schema (XSD)生成JSON Schema的 方法 . 在概述从XML Schema创建JSON Schema的方法的同时,本文还演 ...

  5. XML解组基准:JAXB,STAx,Woodstox

    介绍 上周末,我开始考虑如何以一种资源友好的方式处理大量XML数据.我要解决的主要问题是如何以块的形式处理大型XML文件,同时提供上游/下游系统,需要处理一些数据. 当然,我已经使用JAXB技术已有几 ...

  6. XML解析和创建的JAXB方式

    1.说明 JAXB是Java Architecture for XML Binding, 即用于XML绑定的Java体系结构, JAXB作为JDK的一部分, 能便捷地将Java对象与XML进行相互转换 ...

  7. 织梦html地图插件,织梦dede网站地图xml生成插件(图文教程)

    织梦网站地图xml生成插件描述 1.utf8 和 gbk 有齐2种编码插件文件 2.根据自己程序编码选择对应插件,上传模块,安装,使用 3.可同时生成5种地图文件 sitemap.html  site ...

  8. mysql xml生成工具_自动生成po、dao、xml 工具:mybatis-generator

    需要注意:文件路径关系,xml路径,jar包路径,以及xml中生成文件的路径等. 由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易 ...

  9. 根据xml生成相应的对象类

    根据xml生成相应的class对象,听起来很难其实很简单,用xsd.exe就能办到 打开vs 命令行运行xsd.exe 你的xml文件地址 空格/outputdir:存放xsd的地址 ok,这是生成了 ...

  10. webservice xsd.exe根据xml生成xsd。然后根据xsd生成java bean

    2019独角兽企业重金招聘Python工程师标准>>> webservice xsd.exe根据xml生成xsd.然后根据xsd生成java bean 转载于:https://my. ...

最新文章

  1. 周伯文对话斯坦福AI实验室负责人:下一个NLP前沿是什么?
  2. 事务连接中断_一文搞懂分布式事务-CAP理论
  3. 带有控制器,方法,标题,参数,@ RequestParam,@ PathVariable的Spring MVC @RequestMapping注释示例
  4. (转)SQL Server数据库状态监控 - 作业状态
  5. 【Turbo】基于MATLAB的turbo编译码算法的仿真
  6. .net常用加密和解密算法
  7. BlockUI对话框
  8. table表单的制作
  9. POJO、PO、DTO、DAO、BO、VO需要搞清楚的概念 1
  10. Beautifulsoup提取特定丁香园帖子回复
  11. 图解概率论基础概念(条件概率、全概率公式、贝叶斯公式)
  12. LED背光源的正反面怎么区分?
  13. 360公司 2020秋招 技术综合E卷 在线考试 编程题 第一题 表面积(web前端)
  14. 使用图像处理技术和卷积神经网络(CNN)的作物病害检测
  15. python运行代码不成功_【Python】程序在运行失败时,一声不吭继续运行pass
  16. 百万军师v1.0——直播答题答案快速搜索
  17. 如何在官网下载tomcat
  18. Auto.js Pro 替代品
  19. datagrip无法提示字段
  20. 电视剧神话剧情介绍-电视剧神话剧情简介

热门文章

  1. 麻省理工6.824 分布式课程 Raft选主实现笔记
  2. 在WSUS 3.0的环境中,部分客户机没有向WSUS服务器更新状态,该如何解决?
  3. 5款免费的WordPress备份解决方案
  4. 【原创】开车分四个阶段的话,你属于哪个
  5. java程序中验证框架四规则(初级知识)
  6. 第k小元素——分治法
  7. 需要重新启动php,win10电脑遇到问题要重新启动怎么回事
  8. 解决PlayerSettings中的splash Image资源发现在内存中卸载不掉
  9. mysql call_关于Mysql “CALL语句”
  10. JavaSE基础之-Calendar时间类