tags:

views:

697

answers:

3

I have an XSD file and I want to create an XML file at runtime based on the XSD. (My question is basically the same as this one, except in the .NET world, rather than for Java.)

I have run xsd.exe /c /l:vb MyTest.xsd, but that generates a class that cannot be instantiated and used, as it has nested classes that are never instantiated. It appears that the generated class is only used for XML deserialization, but I don't have an XML file to deserialize from.

Running xsd.exe /d /l:vb MyTest.xsd generates a dataset, but it looks like using that would be more coding than just writing out an XmlDocument manually.

What is the best way to create an XML file based on a specific schema?

+1  A: 

Read this article: http://msdn.microsoft.com/en-us/library/aa302296.aspx it includes a installer and samples on using the XmlSampleGenerator API.

Alex LE
Not sure if that helps me very much. If I'm going to write a bunch of code to parse the schema, I may as well write a bunch of code to manually create the XML file.
Jason Berkan
A: 

It turns out I was just being obtuse. While the classes generated by xsd contain uninitialized nested classes, they are exposed via public properties, so there is nothing stopping me from instantiating them myself.

Something like the following:

ElementA.ElementB = New ElementB()
ElementA.ElementB.Name = "Jason"
Jason Berkan
+1  A: 

I use an XML tool (oXygen) that offers this as part of its capabilities. I'm sure there are others, that's just what we use here.

TMN
True enough. I could use a different tool.
Jason Berkan