2008-09-16 25 views
6

Estoy trabajando en una aplicación .net donde necesitamos generar archivos XML sobre la marcha en base al conjunto de datos recuperados de la base de datos. El esquema XML debe basarse en un xsd proporcionado. Me gustaría saber si hay alguna manera de enlazar o asociar un conjunto de datos o cada datarow con el xsd. No sé si se puede hacer en absoluto o puedo pensar en el uso de XSD en una perspectiva equivocada. Si me equivoco, corrígeme y cuéntame la mejor manera de asociar datos recuperados de db a un esquema predefinido. Gracias.Usando xsd para generar XML en .net

Actualización: Si mi perspectiva sobre xsd es incorrecta, por favor arroja algo de luz sobre cómo se usan los xsds (o tal vez apuntarme a algunos enlaces útiles).

+0

He estado buscando ese código, no hay uno listo para usar ... parece que no es tan simple. Bien. Si es para la prueba, opta por Altova XMLSpy, funciona como gema para crear XML. –

Respuesta

1

Además de la solución sugerida por Joel Coehoorn - generar conjuntos de datos con tipo o entidades comerciales de XSD - permítanme añadir un par de otros enfoques:

  1. Si utiliza una base de datos que soporta tipo XML como Oracle o MS SQL Server, puede construir XML directamente en sus consultas SQL y recuperar XML directamente desde la base de datos sin pasar por la población del conjunto de datos.
  2. En caso de que su esquema de base de datos no esté directamente asignado al XSD dado, es decir, ya tiene un conjunto de datos tipeados o un conjunto de objetos comerciales serializables XML y esos objetos están serializados en XML que no cumple con XSD. provisto con, entonces puede usar XSLT para transformar su XML a otro documento XML que será compatible con el XSD dado.
3

Utilice el documento de esquema como parámetro para el programa de línea de comandos xsd.exe incluido con Visual Studio para generar archivos de clase o conjuntos de datos tipados que puede incluir en su proyecto/solución. Estas clases o conjuntos de datos se pueden serializar a xml y se ajustarán al documento de esquema que utilizó para crearlos.

El único problema con esto es que no es dinámico: no se puede esperar hasta el tiempo de ejecución para obtener los archivos de esquema. Pero no hay nada incorporado que respalde esto de otra manera.

Cuestiones relacionadas