文档章节

JAXBContext返回生成XML

T_kress
 T_kress
发布于 2015/12/24 11:49
字数 265
阅读 69
收藏 2
点赞 0
评论 0

用java 生成XML

1,需要的包

javax.xml.bind.jar,
jaxb-api.jar,
jaxb-core.jar,
jaxb-impl.jar,
jaxb-jxc.jar,
jaxb-xjc.jar

2,XML中有<!CDATA[]]需要的包

com.springsource.javax.xml.bind-2.2.0.jar,
org.eclipse.persistence.antlr_2.3.0.v20110604-r9504.jar
org.eclipse.persistence.asm_2.3.1.v20110908-r10021.jar
org.eclipse.persistence.core_2.3.0.v20110604-r9504.jar
org.eclipse.persistence.moxy_2.3.1.v20110908-r10021.jar

用回复微信消息做实例

public String replay(UserObject text, Class classs) {
		JAXBContext context;
		String xmlObj = null;
		try {
			context = JAXBContext.newInstance(classs);
			Marshaller marshaller = context.createMarshaller(); 
			  marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
			    // 格式化XML输出,有分行和缩进
			    marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
			    // 打印到控制台
			   // marshaller.marshal(text, System.out);
			    marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);//
			    ByteArrayOutputStream baos = new ByteArrayOutputStream();
			    marshaller.marshal(text, baos);
			try {
				 //  xmlObj = new String(baos.toByteArray());
				xmlObj= baos.toString("utf-8");
				//System.out.println(test);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			   
		} catch (JAXBException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		  
		 // System.out.println(xmlObj);
		  return xmlObj.replace(" standalone=\"yes\"", "");
	}

检查XML实体类

import java.util.Calendar;
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.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class NewsObject extends UserObject{
	public NewsObject(){
		super.setMsgType("news");
		super.setCreateTime(Calendar.getInstance().getTimeInMillis());
	}
	int ArticleCount;
	 @XmlElementWrapper(name="Articles") 
	 @XmlElement(name="item") 
	List<NewsItem> NewsItems;
	
	
	public List<NewsItem> getNewsItems() {
		return NewsItems;
	}
	public void setNewsItems(List<NewsItem> newsItems) {
		NewsItems = newsItems;
	}
	public int getArticleCount() {
		return ArticleCount;
	}
	public void setArticleCount(int articleCount) {
		ArticleCount = articleCount;
	}
	
}

为了生成CDATA 需要一个 jaxb.properties 文件 需要和需要生成的java类放在同一个目录 javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory

© 著作权归作者所有

共有 人打赏支持
T_kress
粉丝 2
博文 9
码字总数 3815
作品 0
杭州
程序员
JaxbContext生成xml文件或java类对象转化注解

JAXB(Java API for XML Binding),提供了一个快速便捷的方式将Java对象与XML进行转换。在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版本JAX-WS2.1,其底层支持就是JAXB。 JAXB...

K_ONE ⋅ 2016/02/16 ⋅ 0

JAXB 应用指南

文章转自:http://blog.csdn.net/darxin/article/details/4845820 JAXB(Java Architecture for XML Binding)是一种特殊的序列化/反序列化工具。它可以使XML数据以Java Objects的形式直接应...

红薯 ⋅ 2011/08/06 ⋅ 0

Metaspace溢出排查过程

庞彤彤 2014年8月加入去哪儿,目前就职于大住宿事业部,主要负责交易运营相关内容。 一、问题 线上的 task 服务出现报警,没有服务者,发现有的机器突然下线了。 第一次出现问题时,发现服务...

Qunar技术沙龙 ⋅ 06/12 ⋅ 0

XML 和 java对象相互转换

下面使用的是JDK自带的类,没有引用任何第三方jar包。 Unmarshaller 类使客户端应用程序能够将 XML 数据转换为 Java 内容对象树。 备注:marshal(序列化、排列、整理) Marshaller 类使客户端...

Galy_绿 ⋅ 2015/12/24 ⋅ 0

Java XMl序列化与反序列化

序列化XML @param object @return @throws JAXBException @throws UnsupportedEncodingException 反序列化XML @param cls @param objStr @param @return @throws JAXBException @throws Uns......

风中映雪 ⋅ 2015/02/11 ⋅ 0

为客户端添加拥有业务逻辑的Handler

以HelloWord为例,客户端的LogicalHandler可以拦截出站的请求消息以检查调用sayHello服务操作的输入参数。如果参数name值为“老板”则修改为“刘诗诗”。示例如下: 服务端: HelloWord.java...

柳哥 ⋅ 2014/05/05 ⋅ 0

在NetBeans下将Java对象映射到XML文档

新建一个Java Application 工程Marshaller. 创建一个类Person,代码如下: package freebird; / @author Administrator */ public class Person { private String name; private String sex......

长平狐 ⋅ 2012/08/28 ⋅ 0

JAXB 解决XML与JavaBean的互换

JAXB 解决XML与JavaBean的互换 声明 版权所有,转载请注明出处 文章概要 基于JAXB2 的xml bean 转换工具 正文 运行环境 JDK,Dom4j JAXB 实现xml和javabean的编组和解组 测试用例:JavaBean 测试...

Cong_Cong ⋅ 2015/11/25 ⋅ 0

关于jaxb 的问题

public static String reply2xml(ReplyMessage reply) throws JAXBException, DocumentException{ JAXBContext context = JAXBContext.newInstance(reply.getClass()); Marshaller marshalle......

巨型河马兽 ⋅ 2015/07/04 ⋅ 2

play 中的 restful webservice的实现

下列插件实现了包含有xml的请求body的自定义绑定。 public class JAXBBinderPlugin extends PlayPlugin { public static JAXBContext jc; / (非 Javadoc) @see play.PlayPlugin#onApplicatio......

戴锋伟 ⋅ 2014/01/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 7分钟前 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

楠木楠 ⋅ 19分钟前 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 49分钟前 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 49分钟前 ⋅ 0

Docker Toolbox Looks like something went wrong

Docker Toolbox 重新安装后提示错误:Looks like something went wrong in step ´Checking if machine default exists´ 控制面板-->程序与应用-->启用或关闭windows功能:找到Hyper-V,如果处......

随你疯 ⋅ 今天 ⋅ 0

Guacamole 远程桌面

本文将Apache的guacamole服务的部署和应用,http://guacamole.apache.org/doc/gug/ 该链接下有全部相关知识的英文文档,如果水平ok,可以去这里仔细查看。 一、简介 Apache Guacamole 是无客...

千里明月 ⋅ 今天 ⋅ 0

nagios 安装

Nagios简介:监控网络并排除网络故障的工具:nagios,Ntop,OpenVAS,OCS,OSSIM等开源监控工具。 可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail和h...

寰宇01 ⋅ 今天 ⋅ 0

AngularDart注意事项

默认情况下创建Dart项目应出现以下列表: 有时会因为不知明的原因导致列表项缺失: 此时可以通过以下步骤解决: 1.创建项目涉及到的包:stagehand 2.执行pub global activate stagehand或pub...

scooplol ⋅ 今天 ⋅ 0

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部