我想从我为Java应用程序编写的XML创建模型类。有什么好工具可以从我正在编写的XML中转换自动生成的类?我的XML文件中的一个示例。
<list name="NameValuePairListDefinition">
<member target="NameValuePair" />
</list>
<structure name="PositiveIntegerList">
<member name="list" target="PositiveIntegerListDefinition" />
</structure>发布于 2012-10-31 10:11:00
如果你正在使用Java并且想要生成类,我强烈建议你使用XMLbeans。它附带了一些很好的实用程序,包括:
示例inst2xsd -enumerations never message.xml
(将生成xsd文件并禁用任何相同类型的枚举)
示例
scomp -jar yourschema mySchema.xsd
(它创建xmltypes.jar -这是您想要的jar,只需将其重命名为更聪明的名称,并将其用于双向解析以获取和设置、读取和写入values)
创建的模式添加所有的xmlbeans JAR和JAR
然后,您可以加载、创建、存储、操作xmldata,就像它只是项目中的java对象一样;-)
根据您的XML小片段的元素,您将使用大致如下所示的代码进行访问:
MyModel myModel = null;
try {
//full path to XML file
File modelXML = new File("Model.xml");
// Bind the incoming XML to an XMLBeans type.
myModel = MyModel.Factory.parse(modelXML);
}
catch (XmlException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
catch (FileNotFoundException e) { e.printStackTrace(); }
// Using the <structure> element.
Structure structure = myModel.getStructure();
Member member = structure.getMember();
String target = member.getTarget(); // "PositiveIntegerListDefinition" 注意:我还建议使用不是保留的Java关键字的元素名称,例如list,我不太确定XMLBeans将如何处理它,但我假设它会稍微重命名,而不是重载。
这里有一个可以派上用场的完整教程:http://xmlbeans.apache.org/documentation/tutorial_getstarted.html
我假设您使用简单的直接XML调用或基于REST的Web服务,但是如果您决定使用更冗长的东西,比如SOAP,那么还有Apache CXF和Apache Axis2,它们可以很容易地从SOAP XML消息或WSDL生成Java类。
https://stackoverflow.com/questions/13150166
复制相似问题