需要下载dom4jjar包
直接上代码:
原文地址:http://blog.csdn.net/yanghongchang_/article/details/23283201
作者:杨虹昌
package org.tbyf;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class XSDGenerator {
public static void main(String[] args) {
// try {
// JAXBContext jaxb=JAXBContext.newInstance(User.class);
// jaxb.generateSchema(new SchemaResolver("user.xsd"));
// } catch (JAXBException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
Document document = DocumentHelper.createDocument();
Element root = document.addElement("xs:schema");
root.addNamespace("xs", "http://www.w3.org/2001/XMLSchema");
root.addAttribute("elementFormDefault", "qualified");
root.addAttribute("attributeFormDefault", "unqualified");
//
Element ele = root.addElement("xs:element");
ele.addAttribute("name", "user");
ele.addAttribute("type", "UserType");
ele.addAttribute("type", "UserType");
//
Element complexType=root.addElement("xs:complexType");
complexType.addAttribute("name", "UserType");
Element sqeuence=complexType.addElement("xs:sequence");
Element id=sqeuence.addElement("xs:element");
id.addAttribute("name", "id");
id.addAttribute("type", "xs:integer");
Element name=sqeuence.addElement("xs:element");
name.addAttribute("name", "name");
name.addAttribute("type", "xs:string");
try {
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(
new File("test.xsd")),format);
writer.write(document);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
生成文件:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="user" type="UserType"/>
<xs:complexType name="UserType">
<xs:sequence>
<xs:element name="id" type="xs:integer"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>