码迷,mamicode.com
首页 > 编程语言 > 详细

使用SchemaOutputResolver将java文件生成schema

时间:2015-04-07 17:52:34      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:jaxb   java2schema   

1.productannoction.java如下:

 

package com.soa.my.java2schema;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlRootElement(name="productAnnoaction1",namespace="my.soa.java2schema.com")
@XmlType(namespace="my.soa.java2schema.com")
public class ProductAnnoction {
    
private static final long serialVersionUID=12345L;
	
    @XmlElement(defaultValue="1.0")
    static String version="1.0";
	private String name;
	
	private int price;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}

	public ProductAnnoction() {
		super();
	}

	
	
	
}
2.MySchemaOutputResolver.java
  <pre name="code" class="java">package com.soa.my.java2schema;

import java.io.File;
import java.io.IOException;

import javax.xml.bind.SchemaOutputResolver;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamResult;

public class MySchemaOutputResolver extends SchemaOutputResolver {
	
	
	private File f;

	public MySchemaOutputResolver(String string, String string2) {
		f=new File(string, string2);
	}

	public Result createOutput(String namespaceUri, String suggestedFileName)
			throws IOException {
		
		return new StreamResult(f);
	}

}


3.java2schemabyResolver.java

 

package com.soa.my.java2schema;

import java.io.IOException;

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

public class java2schemabyResolver {

	/**
	 * @param args
	 * @throws JAXBException 
	 * 	SchemaOutputResolver outputResolver;
	 */
	SchemaOutputResolver outputResolver;
	public static void main(String[] args) throws JAXBException, IOException {
	
        Class[] classes={ProductAnnoction.class};
        new java2schemabyResolver().excute(classes);
        
	}

	private void excute(Class[] classes) throws JAXBException, IOException {
          JAXBContext context=JAXBContext.newInstance(classes);
          context.generateSchema(outputResolver);
	}
	 
	public java2schemabyResolver(){
	outputResolver=new MySchemaOutputResolver("e:/xml/xml练习/resolver","MySchema.xsd");
	}

	

}

使用SchemaOutputResolver将java文件生成schema

标签:jaxb   java2schema   

原文地址:http://blog.csdn.net/u013998070/article/details/44920925

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!