Java 使用xsd模式和sql查询的输出生成xml
在Java应用程序中,我需要基于XSD模式生成XML。生成的XML将包含SQL查询返回的数据。 任何使用过的库都应该与JBoss EAP6兼容,可能还有更旧的版本 有人建议使用ApacheXalanLibs,但我找不到一个好的起点Java 使用xsd模式和sql查询的输出生成xml,java,xml,xsd,Java,Xml,Xsd,在Java应用程序中,我需要基于XSD模式生成XML。生成的XML将包含SQL查询返回的数据。 任何使用过的库都应该与JBoss EAP6兼容,可能还有更旧的版本 有人建议使用ApacheXalanLibs,但我找不到一个好的起点 有人做过类似的事情吗?如果我是你,我会使用JAXB api根据sql查询的输出创建xml输出。JAXB api是J2EE标准之一,它们是与许多容器最可能兼容的api 我没有看到您的代码,但我建议使用以下解决方案: 您可以使用ORM框架,也可以只使用纯JDBC。将数据从
有人做过类似的事情吗?如果我是你,我会使用JAXB api根据sql查询的输出创建xml输出。JAXB api是J2EE标准之一,它们是与许多容器最可能兼容的api 我没有看到您的代码,但我建议使用以下解决方案: 您可以使用ORM框架,也可以只使用纯JDBC。将数据从DB提取到内存后,必须将它们保存在一些类似Bean的类实例中 另一方面,您应该为XSD生成映射类。这通常是使用JAXB命令行工具或IDE工具(在后台使用该命令行工具)来完成的。我建议使用IntellijIDEA或EclipseJAXB工具 Intellij: 例如,如果您有一个CustomerOrders.xsd文件,您可以将其放置在一个包中,然后通过右键单击它,从webservices子菜单中选择“使用JAXB从xml模式生成java代码…”。然后会出现一个对话框来选择输出路径等。您可以在下图中看到这一点: 你使用哪种工具并不重要。最后,他们将为XSD映射创建一个或多个java类。这些类必须存储在代码可以在运行时访问的包或文件夹中。然后,您唯一的工作就是将数据持有者bean实例转换为该生成类的实例。之后,JAXB将根据您通过api的命令将它们封送到XML格式的字符串或文件中 使用JAXB api的示例代码如下:
try
{
CustomerType data = new CustomerType(); // This is a mapping class generated by jaxb tools.
// You should convert your fetched data from DB to this type.
// This object is the root object of your xml output file.
// Maybe you have some other child level classes under this object
// which creates your nested tags of your output xml data.
Marshaller marshaller = JAXBContext.newInstance().createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // this is for formatting the output xml data
marshaller.marshal(data, new File("Wherever you want to save!"));
}
catch (JAXBException e)
{
e.printStackTrace();
}
希望这会有所帮助
祝你好运。如果我是你,我会使用JAXB api根据sql查询的输出创建xml输出。JAXB api是J2EE标准之一,它们是与许多容器最可能兼容的api 我没有看到您的代码,但我建议使用以下解决方案: 您可以使用ORM框架,也可以只使用纯JDBC。将数据从DB提取到内存后,必须将它们保存在一些类似Bean的类实例中 另一方面,您应该为XSD生成映射类。这通常是使用JAXB命令行工具或IDE工具(在后台使用该命令行工具)来完成的。我建议使用IntellijIDEA或EclipseJAXB工具 Intellij: 例如,如果您有一个CustomerOrders.xsd文件,您可以将其放置在一个包中,然后通过右键单击它,从webservices子菜单中选择“使用JAXB从xml模式生成java代码…”。然后会出现一个对话框来选择输出路径等。您可以在下图中看到这一点: 你使用哪种工具并不重要。最后,他们将为XSD映射创建一个或多个java类。这些类必须存储在代码可以在运行时访问的包或文件夹中。然后,您唯一的工作就是将数据持有者bean实例转换为该生成类的实例。之后,JAXB将根据您通过api的命令将它们封送到XML格式的字符串或文件中 使用JAXB api的示例代码如下:
try
{
CustomerType data = new CustomerType(); // This is a mapping class generated by jaxb tools.
// You should convert your fetched data from DB to this type.
// This object is the root object of your xml output file.
// Maybe you have some other child level classes under this object
// which creates your nested tags of your output xml data.
Marshaller marshaller = JAXBContext.newInstance().createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // this is for formatting the output xml data
marshaller.marshal(data, new File("Wherever you want to save!"));
}
catch (JAXBException e)
{
e.printStackTrace();
}
希望这会有所帮助
祝你好运。谢谢你,我会试试的!关于汉克斯·斯泰菲,我要试一试!关于汉克斯·斯泰菲,我要试一试!Regardsy您应该使用此API:您应该使用此API:您应该使用此API: