3

我正在使用此代码

JAXBContext jc = JAXBContext.newInstance(Bookdata.class);
Bookdata bookdata=new Bookdata();
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(bookdata, (OutputStream) output);

但它正在生成 XML 但我需要 XSD 我需要像这样创建 XSD:

<ArrayOfCommandInfoDTO>
     <CommandInfoDTO>
        <a:allowAddingGameCenterFriends>true</a:allowAddingGameCenterFriends>
        <a:enter code here>allowAppInstallation>true</a:allowAppInstallation>
        <a:allowAssistant>true</a:allowAssistant>
        <a:allowAssistantWhileLocked>true</a:allowAssistantWhileLocked>
        <a:allowCamera>true</a:allowCamera>
     </CommandInfoDTO>
</ArrayOfCommandInfoDTO>

所以请告诉我如何从 java Beans 或 XML 创建 XSD

4

2 回答 2

1
public class ObjToSchema {

    public static void main(String[] args) throws IOException, JAXBException {
        // TODO Auto-generated method stub
        (JAXBContext.newInstance(Bookdata.class)).generateSchema(new DataSchemaOutputResolver());
    }
}


public class DataSchemaOutputResolver extends SchemaOutputResolver {
    @Override
    public Result createOutput(String arg0, String arg1) throws IOException {
        // TODO Auto-generated method stub
        return new StreamResult(new File("d:/data.xsd"));
    }
}

希望这能解决您的问题。

于 2015-02-25T13:57:52.343 回答
0

您可以使用generateSchemaon 方法JAXBContext生成 XML 模式。

于 2013-10-07T10:04:20.127 回答