因为项目原因,今天研究了 jdk 1.4 + jaxb 解析xml, 运行成功 Java Architecture for XML Binding (JAXB): http://www.oracle.com/technetwork/articles/javase/index-140168.html#xmp3 The Jaxb1.5 demo is base on jdk 1.4.2 + jaxb
一个 xml 模式(Schema)用XML语法表达了一个XML文档的结构。J2EE的开发者也许会需要一个符合XML模式的XML文档。 java XML绑定架构(JAXB)提供了一个绑定编译器,xjc,来从一个XML模式中生成Java类。用JAXB的xjc生成的Java类代表了在XML模式中不同的元素和复杂类型(complexType)。(一个复杂类型通过指定属性和元素内的元素来提供对一个元素的限
Java代码 import java.io.FileOutputStream; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import javax.xml.bind.annotation.XmlRootElement; public class JavaToXMLDemo
jaxml各参数请看:http://www.voidcn.com/article/p-wdzunhgm-ra.html Person: package com.test;
import java.util.Date;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind
实体类: package org.senssic.jaxrs.bean;
import java.util.Date;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class User {
private String name;
private int age;
private Dat
Right now I am getting this as an XML output from my JAXB Marshaller <?xml version="1.0" encoding="UTF-8" standalone="yes"?><create></create> But I want my root element as: <create xmlns="http://ws.ab
直接代码: package com.analysis.dome;
import java.beans.XMLDecoder;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.Serializable;
import
Customer类 @XmlRootElement(name = "type")
public class Customer {
String name;
int age;
int id;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
JAXB(Java API for XML Binding),提供了一个快速便捷的方式将Java对象与XML进行转换。在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版本JAX-WS2.1,其底层支持就是JAXB。 JAXB 可以实现Java对象与XML的相互转换,在JAXB中,将一个Java对象转换为XML的过程称之为Marshal,将XML转换为Java
这段时间都老忙了,甚至连周末所有人员都在赶产品的进度,想想连续上12天班,人都有点晕了!到这会儿终于有点时间,所以准备和大家分享一下JAXB,会不会有人觉得有点陌生呢?没事,这里跟大伙儿简单的描述一下: JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档
Marshal 和 UnMarshal的过程并不复杂,只需要从JAXBContext中获得Marshaller或Unmarshaller对象,就可以让JAXB帮我们 来进行转换。 1.将 xml 文件中的各个节点和属性信息创建对应的Java模型 2.在Java模型中的创建与 xml 文件对应的节点和属性需要用注解来表示 @XmlRootElement 将一个Java类映射为一段XML的根节点
/**
* req 请求参数 XML 格式请求串 sign 签名
*
* @author zsj
*
*/
@XmlRootElement(name = "request")
public class Request implements Serializable {
private static final long serialVersionUID = -79108577703
比较常用的几个: @XmlRootElement:根节点 @XmlAttribute:该属性作为xml的attribute @XmlElement:该属性作为xml的element,且可以增加属性(name="NewElementName"),那么生成的xml串的elment的标签是NewElementName 处理子类用两种方法: 处理子类1
/**
*
*/
import java.io.File;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import
用ConcurrentMap 对JAXBContext进行缓存,提高效率。 private static ConcurrentMap<Class<?>, JAXBContext> jaxbContexts = new ConcurrentHashMap<Class<?>, JAXBContext>();
/**
* 把xml转换成对应的bean
*
* @param <T>
使用jaxb 实现对象与xml之间的转换,并且是 soap报文与对象转换 1.测试用例 public class TestJaxb {
@Test
public void testToObject(){
JaxbBinder jaxbBinder = new JaxbBinder(SoapEnvelope.class);
URL url = th
JAXB基本使用 JAXB主要用来实现对象和XML之间的序列化和反序列化,关于JAXB的介绍就不多说了,网上一搜一大把,这里主要总结下基本使用方法和一些注意事项 首先定义两个示例类ClassA,ClassB,用于后续的示例演示 package cn.lzrabbit;
public class ClassA {
private int classAId;
private Stri
Student.java package com.jaxb;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.a
鼓捣了一番,一开始各种出错,终于得以解决问题。下面晒晒吧(例子是存储学生) 学生类: import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElem
Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。是一种xml与object映射绑定技术标准。 JDK5以下开发需要的jar包:activation.jar、jaxb-api.jar、 jaxb-impl.jar、 jsr173-api.jar JDK6以上版本已经集成JAXB2的JAR,在目录{JDK_