我需要从xml生成不提供架构的类。我知道这几乎没用,但事实是我们有xml,它是结构化的,我们应该能够从xml创建一个模型。在过去,我已经手工完成了,但是我正在使用的当前xml文档非常大,而且我可能更好地花时间构建满足我需要的东西。但是,我猜它已经完成了,我找不到它。
任何指针?
答案 0 :(得分:61)
有许多可用的工具(快速谷歌搜索应该可以提取一些),可以从XML生成XSD,假设几乎所有内容的字符串类型。您应该能够使用该XSD运行JAXB来获取类。
这是online tool,可让您这样做。
这是一个屏幕上限:
答案 1 :(得分:11)
从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 在与。相同的目录中生成example.xsd文件 xml文件。
XSD到Java: 参考:
XSD到C ++: 参考文献:
XSD到C#: 参考:
答案 2 :(得分:1)
如果XML是由JAXB创建的,它可以很容易地转换回对象。在oracle上有一个tutorial,它说明了一种方法。 Spring框架使用JAXB提供类似的功能,非常方便。