標籤: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