16

Are there any Code Generators that would take a well-formed XML document, and write out an XSD schema based on how the XML document is structured?

MvanGeest
  • 9,536
  • 4
  • 41
  • 41
George Stocker
  • 57,289
  • 29
  • 176
  • 237

7 Answers7

15

Best Answer, bar none:

http://xsd2code.codeplex.com

I pulled my hair out for a full 8 hr work day, got nowhere with all the crappy solutions out there (XSD, CodeXS, XSDObjectGen, and others) and am not interested in paying $400 for the stupid commercial tools just to do this.

Then I came across this codeplex project... WOW! Where was this all my life?

And the best part... its actively being worked on, right NOW (2009), not an abaondoned crust pile from 2004 or some lame thing.

Enjoy!

12

The XSD.exe utility (which is installed with Visual Studio) is capable of creating an XSD file from an XML file.

Here's the link on MSDN

I believe it may also part of the .NET SDK, meaning you would not need a full-blown Visual Studio installation.

Rich
  • 896
  • 6
  • 15
7

Visual Studio does it pretty well too... Open XML file.. Choose 'Generate Schema' Command from XML menu

Vyas Bharghava
  • 6,372
  • 9
  • 39
  • 59
  • This command may be running the XSD tool behind the scenes... Unfortuantely, I had to move to a different machine and do not have VS.Net installed yet to verify this. – Vyas Bharghava Nov 13 '08 at 21:54
  • I doubt it's the same tool, the ouput XSD inferred from the same XML file was quite different - and the Visual Studio version looked more correct ! – joedotnot Mar 17 '10 at 05:39
  • It definitely does run xsd.exe. You may get different results due to the various parameters you can provide to it. – Brady Moritz Jul 01 '10 at 21:20
  • I dispute boomhauer's remark here. I have a massive 40 megabyte file which xsd is choking on and Visual Studio manages fine. – S Meaden May 14 '15 at 16:26
2

I am a little late to the part, but I find that Businessware Architects CodeXS is very good. I have found that it handles complex schema's much better.

Bob
  • 97,670
  • 29
  • 122
  • 130
1

And old question I know but this might help someone: http://www.freeformatter.com/xsd-generator.html. Simple online tool and gets the job done with ease. Perfect for quick XML schema generation.

Tash Pemhiwa
  • 7,590
  • 4
  • 45
  • 49
1

I'm note sure it is useful. After all, it cannot infer everything: if an element is present in the XML document, how to know if it is mandatory or not?

Examplotron, to achieve a similar goal, relies, at least partly, on annotations.

bortzmeyer
  • 34,164
  • 12
  • 67
  • 91
1

Try XXSd2Code. It code generates C#, C++, Java and C++/CLI bindings from xsds. XXSd2Code