jaxb xml 生成 java_java-如何使用JAXB定制XML导出
为了进行测试,我使用了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导出相关推荐
- jaxb xml 生成 java_使用 JAXB 工具根据 Java 类生成 XML 模式
使用 JAXB 工具根据 Java 类生成 XML 模式 2010-06-10 18:24:26| 分类: web service |字号 订阅 关键字: java to xml 使用 JAXB 工 ...
- jaxb xsd生成xml_使用JAXB从XSD生成XML
jaxb xsd生成xml 这是最初由JCG合作伙伴 Experiences Unlimited的Mohamed Sanaulla发表的帖子. Mohamed解释了如何使用JAXB从给定的XSD生成X ...
- java xml amp_Javaamp;Xml教程(十一)JAXB实现XML与Java对象转换
JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,可以帮助开发人员非常方便的將XML和Java对象进行相互转换. 本文以一个简单 ...
- jaxb xsd生成xml_使用JAXB和Jackson从XSD生成JSON模式
jaxb xsd生成xml 在本文中,我演示了一种从XML Schema (XSD)生成JSON Schema的 方法 . 在概述从XML Schema创建JSON Schema的方法的同时,本文还演 ...
- XML解组基准:JAXB,STAx,Woodstox
介绍 上周末,我开始考虑如何以一种资源友好的方式处理大量XML数据.我要解决的主要问题是如何以块的形式处理大型XML文件,同时提供上游/下游系统,需要处理一些数据. 当然,我已经使用JAXB技术已有几 ...
- XML解析和创建的JAXB方式
1.说明 JAXB是Java Architecture for XML Binding, 即用于XML绑定的Java体系结构, JAXB作为JDK的一部分, 能便捷地将Java对象与XML进行相互转换 ...
- 织梦html地图插件,织梦dede网站地图xml生成插件(图文教程)
织梦网站地图xml生成插件描述 1.utf8 和 gbk 有齐2种编码插件文件 2.根据自己程序编码选择对应插件,上传模块,安装,使用 3.可同时生成5种地图文件 sitemap.html site ...
- mysql xml生成工具_自动生成po、dao、xml 工具:mybatis-generator
需要注意:文件路径关系,xml路径,jar包路径,以及xml中生成文件的路径等. 由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易 ...
- 根据xml生成相应的对象类
根据xml生成相应的class对象,听起来很难其实很简单,用xsd.exe就能办到 打开vs 命令行运行xsd.exe 你的xml文件地址 空格/outputdir:存放xsd的地址 ok,这是生成了 ...
- webservice xsd.exe根据xml生成xsd。然后根据xsd生成java bean
2019独角兽企业重金招聘Python工程师标准>>> webservice xsd.exe根据xml生成xsd.然后根据xsd生成java bean 转载于:https://my. ...
最新文章
- 周伯文对话斯坦福AI实验室负责人:下一个NLP前沿是什么?
- 事务连接中断_一文搞懂分布式事务-CAP理论
- 带有控制器,方法,标题,参数,@ RequestParam,@ PathVariable的Spring MVC @RequestMapping注释示例
- (转)SQL Server数据库状态监控 - 作业状态
- 【Turbo】基于MATLAB的turbo编译码算法的仿真
- .net常用加密和解密算法
- BlockUI对话框
- table表单的制作
- POJO、PO、DTO、DAO、BO、VO需要搞清楚的概念 1
- Beautifulsoup提取特定丁香园帖子回复
- 图解概率论基础概念(条件概率、全概率公式、贝叶斯公式)
- LED背光源的正反面怎么区分?
- 360公司 2020秋招 技术综合E卷 在线考试 编程题 第一题 表面积(web前端)
- 使用图像处理技术和卷积神经网络(CNN)的作物病害检测
- python运行代码不成功_【Python】程序在运行失败时,一声不吭继续运行pass
- 百万军师v1.0——直播答题答案快速搜索
- 如何在官网下载tomcat
- Auto.js Pro 替代品
- datagrip无法提示字段
- 电视剧神话剧情介绍-电视剧神话剧情简介
热门文章
- 麻省理工6.824 分布式课程 Raft选主实现笔记
- 在WSUS 3.0的环境中,部分客户机没有向WSUS服务器更新状态,该如何解决?
- 5款免费的WordPress备份解决方案
- 【原创】开车分四个阶段的话,你属于哪个
- java程序中验证框架四规则(初级知识)
- 第k小元素——分治法
- 需要重新启动php,win10电脑遇到问题要重新启动怎么回事
- 解决PlayerSettings中的splash Image资源发现在内存中卸载不掉
- mysql call_关于Mysql “CALL语句”
- JavaSE基础之-Calendar时间类