2008-09-03 13 views
7

En Visual Studio puede crear una plantilla de documento XML a partir de un esquema existente. El nuevo XML Schema Explorer en VS2008 SP1 lleva esto una etapa más allá y puede crear un documento XML de muestra completo con datos. ¿Hay una biblioteca de clases en .NET para hacer esto automáticamente sin tener que usar Visual Studio? Encontré el artículo XmlSampleGenerator en MSDN, pero fue escrito en 2004, así que tal vez haya algo ya incluido en .NET para hacer esto ahora.¿Existe una clase para generar un documento XML de muestra a partir del esquema XSD en .NET

+0

posible duplicado de [Creación de un archivo xml de xsd en .NET] (http://stackoverflow.com/questions/808378/creating-an-xml-file-from-xsd-in-net) –

Respuesta

0

Directamente, ninguno que se me ocurra, que no sean complementos de terceros. Se podría utilizar la xsd schema definition tool tomar su XSD y crear un objeto .NET/clase, una vez que tienes eso, usted podría, en palabras de la página enlazada:

XSD a Clases: Genera clases de ejecución de un archivo de esquema XSD . Las clases generadas se pueden usar junto con System.Xml.Serialization.XmlSerializer para leer y escribir código XML que sigue el esquema.

7

una serie de paredes está involucrado, pero se puede cargar el xsd en un objeto DataSet, iterar sobre las tablas y añadir unas filas de cada llamando llamando NewRow() en cada uno y luego añadir las filas de nuevo en sus respectivos tablas ... luego guarde el DataSet en un archivo:

DataSet ds = new DataSet(); 
ds.ReadXmlSchema("c:/xsdfile.xsd"); 

foreach(DataTable t in ds.Tables) 
{ 
var row = t.NewRow(); 
t.Rows.Add(row); 
} 

ds.WriteXml("c:/example.xml"); 

PS Un poco de trabajo adicional, pero en lugar de simplemente iterar sobre cada tipo de tabla y agregar filas vacías, podría crear una buena forma de respuesta que le permita incluir algunos datos para cada una de las filas. Construí algo así en aproximadamente una hora hace unas semanas.

Cuestiones relacionadas