如何仅从 XML 生成 JAXB 类

2022-08-31 16:27:00

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

任何指针?


答案 1

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

这是一个在线工具,可以让你做到这一点。

这是一个屏幕盖:enter image description here


答案 2

从 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/library/x6c1kb0s(v=vs.71).aspx

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

  • 因此,“C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\xsd.exe”示例.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

推荐