`

java学习之JAXB解析xml

 
阅读更多
时间仓促,只记录代码

//实体类
package com.wx.common;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class DeMenuEntity {
	@XmlElement
	private String ToUserName;
	@XmlElement
	private String FromUserName;
	@XmlElement
	private String CreateTime;
	@XmlElement
	private String MsgType;
	@XmlElement
	private String Event;
	@XmlElement
	private String EventKey;

	public void setToUserName(String toUserName) {
		ToUserName = toUserName;
	}

	public void setFromUserName(String fromUserName) {
		FromUserName = fromUserName;
	}

	public void setCreateTime(String createTime) {
		CreateTime = createTime;
	}

	public void setMsgType(String msgType) {
		MsgType = msgType;
	}

	public void setEvent(String event) {
		Event = event;
	}

	public void setEventKey(String eventKey) {
		EventKey = eventKey;
	}

	public String getToUserName() {
		return ToUserName;
	}

	public String getFromUserName() {
		return FromUserName;
	}

	public String getCreateTime() {
		return CreateTime;
	}

	public String getMsgType() {
		return MsgType;
	}

	public String getEvent() {
		return Event;
	}

	public String getEventKey() {
		return EventKey;
	}
	
	
}


// 解析的方法
package com.wx.utils;

import java.io.ByteArrayInputStream;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

import com.wx.common.DeMenuEntity;

/**
 * 解析xml
 * 
 * @author Jay_Lee
 */
public class ParseXmlUtil {
	/**
	 * 解析xml为响应的实体类
	 * 
	 * @param xml
	 * @return
	 * @throws JAXBException
	 */
	public static Object parseXml(String xml) throws JAXBException {
		JAXBContext jc = JAXBContext.newInstance(DeMenuEntity.class);
		Unmarshaller u = jc.createUnmarshaller();
		return u.unmarshal(new ByteArrayInputStream(xml.getBytes()));
	}

	public static void main(String[] args) throws JAXBException {
		String str = "<xml><ToUserName>user</ToUserName><FromUserName>from uk</FromUserName><CreateTime>123456789</CreateTime><MsgType>test</MsgType><Event>teds</Event><EventKey>111</EventKey></xml>";
		DeMenuEntity dme = (DeMenuEntity) parseXml(str);
		System.out.println(dme.getCreateTime());
		System.out.println(dme.getEvent());
		System.out.println(dme.getEventKey());
		System.out.println(dme.getFromUserName());
		System.out.println(dme.getMsgType());
		System.out.println(dme.getToUserName());
	}
}
分享到:
评论

相关推荐

    JAVA JAXB 解析XML嵌套子节点为字符串

    JAVA JAXB 解析XML嵌套子节点为字符串

    jaxb解析xml

    把xml串自动的解析成java对象,方便程序的开发

    java 解析XML性能对比分析Demo

    Java 解析XML性能分析Demo。包含了DOM解析,SAX解析, JDOM解析,DOM4J解析,JAXB解析例子。

    通过JAXB实现完成java对象和xml的互相转换

    NULL 博文链接:https://xiongpan0807.iteye.com/blog/1832124

    JAXB完成XML和Java对象的互转

    JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例...

    JAXB解析XML

    JAXB解析XML真的很好用,很强大,而且还是JDK自带的,今天自己总结了一个DEMO,自已感觉非常棒,哈哈。。。里面还有JAXB插件,可以自动生成JAVA BEAN,哈哈,当然了賠本的买卖咱不干,那就请需要的宝贝们奉獻点分吧...

    JAXB乱码问题解决

    解释并解决java开发中使用jaxb解析或组装xml遇到乱码的问题。

    Android支持JAXB(Java Architecture for XML Binding)

    在android 6.0下,应用JAXB jar包根据XML Schema解析XML文件。

    AnnotationParseXml:jAXB 解析 Xml

    JDK 自带JAXB 注解解析xml

    JAXB的例子

    JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。主要功能是生成XML文件和解析XML文件。

    [转载] JAXB中Java对象和XML之间的转换

    NULL 博文链接:https://dacoolbaby.iteye.com/blog/1667283

    Java下XML的解析

    目前我知道的JAVA解析XML的方式有:DOM,SAX,StAX;如果选用这几种,感觉还是有点麻烦;如果使用:JAXB(Java ArchitectureforXMLBinding),个人觉得太方便了!:个人理解类似.net的XmlDocument,解析的时候效率不高,...

    jaxb-ri-2.3.0.zip

    JAXB (Java Architecture for XML Binding) 的主要功能是根据DTD或者XML Schema将XML Element转化为Java类。将XML文本流转化为Java Object,把XML Processing转化为对类的一些属性的访问。简单的来说,它可以让你...

    jaxb工具类

    java对象转换xml&xml;解析成java对象,主要是针对最近写的博文 jaxb工具使用的工具类

    jaxb+stax+demo

    解析xml java与xml转换的demo --stax jaxb

    trang-2019.zip

    java使用jaxb解析XML(含根据xml自动生成实体类),工具类。非常实用的小工具,欢迎大家下载

    Java中对XML的解析详解

    目前我知道的JAVA解析XML的方式有:DOM, SAX, StAX;如果选用这几种,感觉还是有点麻烦;如果使用:JAXB(Java Architecture for XML Binding),个人觉得太方便了

    3种xml解析方法

    共3篇第一篇:用JAXB实现JAVA对象与XML文件的绑定 第二篇:程序设计用JAXB生成一个XML文档 第三篇:dom4jxml文件解析

    JAVA_API1.6文档(中文)

    javax.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子类允许任意 Java 类与 JAXB 一起使用。 javax.xml.bind.attachment 此包由基于 MIME 的包处理器实现,该处理器能够解释并创建基于 MIME 的包格式的...

    fluentxml4j:Java中用于XML解析,序列化,XPath查询和转换的fluent API

    通过XSLT和自定义过滤器支持将java.io,SAX,StAX,JAXB输入转换为它们中的任何一个 通过XPath查询org.w3c.dom.Document以获取String,Boolean,Number,org.w3c.dom.Element或Node,并使用Java 8 Streaming API

Global site tag (gtag.js) - Google Analytics