usar una que metodos interfaz interfaces entre ejemplos diferencia desventajas cuando clases clase abstractos abstractas abstracta c# .net xml xsd schema

una - metodos abstractos c#



Generar clase para el esquema con tipo complejo abstracto (3)

Nunca me he encontrado con este problema, pero aprendí rápidamente que xsd.exe tiene muchas fallas. Empezamos a usar CodeXS hace mucho tiempo. El producto es un servicio web, pero el código está disponible como una herramienta de línea de comandos.

Tiene sus propias verrugas, pero el código que genera es mucho mejor y es gratis. Además, es extensible, y agregar tus propios complementos es bastante fácil.

Posiblemente, no tendrá la misma limitación?

Estoy trabajando con un esquema que define un tipo complejo abstracto, por ej.

<xs:complexType name="MyComplexType" abstract="true">

Este tipo es luego referenciado por otro tipo complejo en el esquema:

<xs:complexType name="AnotherType"> <xs:sequence> <xs:element name="Data" type="MyComplexType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>

Cuando ejecuto "xsd.exe / d / l: CS MySchema.xsd" obtengo este error:

Error: Hubo un error al procesar MySchema.xsd ''. - Error al generar el código para DataSet ''''. - No se puede convertir el contenido del archivo xml de entrada a un DataSet. DataSet no puede instanciar un ComplexType abstracto para los datos del nodo. - DataSet no puede instanciar un ComplexType abstracto para los datos del nodo.

No parece ser un esquema inválido. ¿Alguien más se ha encontrado con este problema?

Gracias

Mella


Después de evaluar varias herramientas diferentes de esquema a código, la única que encontramos capaz de manejar nuestro esquema (muy grande y extremadamente complicada) fue Liquid XML ( http://www.liquid-technologies.com/ ).


Sé que esta es una vieja pregunta, pero necesitaba una respuesta para esta pregunta esta semana. Probé Liquid Studios como lo sugirió @ ng5000 y encontré que el software es muy torpe. Además, la salida de CS fue tan complicada que me dio más de 800 líneas de código para una sola entidad con 12 propiedades simples.

Recomiendo encarecidamente Xml2CSharp , una herramienta web que genera POCO agradables y simples con decoradores de atributos XML.