Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

JAXB简易教程 PDF 下载


分享到:
时间:2020-11-15 08:01来源:http://www.java1234.com 作者:转载  侵权举报
JAXB简易教程 PDF 下载
失效链接处理
JAXB简易教程  PDF 下载


 
本站整理下载:
提取码:ltk0 
 
 
相关截图:
 
主要内容:

1前言
1.1目的
本文档适合介绍JAXB的使用,也可作为JAXB的入门之用
 
1.2范围
使用者:开发人员,系统维护人员
 
 
 
 
 
2开发指南
JAXB是java对象和XML对象进行映射的工具,也是J2EE的一个规范,它可以很方便的把一个java对象映射为一个XML对象,也可以把一个XML对象映射为一个java对象,它的缺点是XML必须定义有DTD或者XSD,如果没有的话,建议使用XStream.
 
2.1导入JAXB
 
可以到https://jaxb.dev.java.net/下载JAXB的最新稳定版本。
2.2使用JAXB
1. 准备DTD或者XSD
一次可以使用多个DTD或者XSD,但是前提是要求这些DTD不能有命名冲突.
2. 准备JAXB描述文件
JAXB描述文件描述生成的Java对象的信息,比如package名称、类的名称等,大多数情况下,描述文件可以非常简单,但是有些时候不能满足需要,这时请参考进阶篇,简单的JAXB描述文件如下
 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
<jaxb:bindings version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
 
<jaxb:bindings schemaLocation="spring-beans-2_0.xsd"
node="/xs:schema">
 
<jaxb:schemaBindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
<jaxb:package name="com.huateng.xsdgenerated.spring" />
<jaxb:nameXmlTransform>
<jaxb:elementName prefix="Parsed" />
<jaxb:typeName prefix="Parsed" />
<jaxb:modelGroupName prefix="Parsed" />
<jaxb:anonymousTypeName prefix="Parsed" />
</jaxb:nameXmlTransform>
</jaxb:schemaBindings>
 
</jaxb:bindings>
 
</jaxb:bindings>
 
 
4. 生成java对象
String projectPath = new File("").getAbsolutePath();
//xsd File 
String xsdFilePath = projectPath +"\\src\\spring-beans-2_0.xsd";
//生成的Java文件路径
String destDir = projectPath+"\\src";
//JAXB描述文件
String jaxbFile = 
projectPath+"\\src\\jaxb_class_spring.xml";
        
List<String> argsList = new ArrayList<String>();
//一次性可以添加多个XSD File
argsList.add(xsdFilePath);
//添加生成的Java文件路径
argsList.add("-d");
argsList.add(destDir);
//添加JAXB描述文件
argsList.add("-b");
argsList.add(jaxbFile);
//生成代码
String[] args = new String[argsList.size()];
XJCFacade.main(argsList.toArray(args));
 
5.查看生成的代码
我们在destDir目录下就可以看到生成的Java代码
 
2.3Xml文件转成Java对象
String content = ……… //XML文件的内容
JAXBContext jaxbContext = JAXBContext.newInstance(“com.huateng.xsdgenerated.spring“,
this.class.getClassLoader());
StreamSource streamSource = new StreamSource(new StringReader(
content));
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
com.huateng.xsdgenerated.spring.ParsedBeans parsedBeans =(com.huateng.xsdgenerated.spring.ParsedBeans) unmarshaller.unmarshal(streamSource);
 
2.4Java对象转成Xml文件
 
com.huateng.xsdgenerated.spring.ParsedBeans parsedBeans = ……// Java对象
JAXBContext jaxbContext = JAXBContext.newInstance(“com.huateng.xsdgenerated.spring“,
this.class.  getClassLoader());
 
Marshaller marshaller = jaxbContext.createMarshaller();
// XML文件格式化输出
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
String xmlFile = ……; //xmlfileP
marshaller.marshal(parsedBeans, new FileOutputStream(xmlFile));
    

 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐