繁体   English   中英

如何从XML生成JAXB类

[英]How to generate JAXB classes from just XML

我需要从xml生成不提供模式的类。 我知道这几乎没用,但事实是我们有xml,它是结构化的,我们应该能够从xml创建一个模型。 在过去,我已经手工完成了,但是我正在使用的当前xml文档非常大,而且我可能更好地花时间构建满足我需要的东西。 但是,我猜它已经完成了,我找不到它。

有什么指针吗?

有许多可用的工具(快速谷歌搜索应该会提取一些),可以从XML生成XSD,假设几乎所有的字符串类型。 您应该能够使用该XSD运行JAXB来获取类。

这是一个在线工具 ,可以帮助您实现这一目标。

这是一个屏幕上限: 在此输入图像描述

从xml文件中,您可以创建XML架构定义(XSD)文件。 一旦你有了XSD,你就能够生成代码,需要它用于java,C#,C ++或上述所有代码。

如果您有Visual Studio,则可以使用xsd.exe生成XSD文件。

参考文献:

  • www.xmlforasp.net/CodeBank/System_Xml_Schema/BuildSchema/BuildXMLSchema.aspx

  • msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.71).aspx

  • 命令语法:xsd file.xml [/ outputdir:directory]

  • 所以“C:\\ Program Files \\ Microsoft SDKs \\ Windows \\ v6.0A \\ Bin \\ x64 \\ xsd.exe”example.xml在与xml文件相同的目录中生成example.xsd文件。

XSD到Java:参考:

XSD到C ++:参考文献:

  • stackoverflow.com/questions/445905/xml-schema-to-c-classes
  • www.codesynthesis.com/products/xsd/

XSD到C#:参考:

  • quickstart.developerfusion.co.uk/quickstart/howto/doc/xmlserialization/XSDToCls.aspx
  • 命令语法: “C:\\ Program Files \\ Microsoft SDKs \\ Windows \\ v6.0A \\ Bin \\ x64 \\ xsd.exe”-c -l:c#-n:SomeNameSpace example.xsd

如果XML是由JAXB创建的,则可以轻松地将其转换回对象。 在oracle上有一个教程 ,说明了一种方法。 Spring框架使用JAXB提供类似的功能,非常方便。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM