2009-12-03 28 views
15

Estamos buscando una manera de tener C# autogenerar clases desde un XSD y crear espacios de nombres C# utilizando la información del espacio de nombres en el XSD.XSD Namespace to C# Namespace

Parece que no se puede crear un espacio de nombres C# estructurado (xxxx.yyyy.zzzz) del XSD?

¿Hay un truco que nos falta?

Gracias

+0

¿Puede añadir algunos detalles? ¿Qué has intentado? ¿Qué no funcionó? – Oded

+0

¿No puede simplemente quitar el 'http' y las barras diagonales de la URL del espacio de nombres y crear un espacio de nombres C# reemplazando las barras con puntos? (ej. http://mydomain.com/myservice/1.0 = namespace mydomain.com.myservice.1.0 –

Respuesta

22

¿Funcionaría? la/n le permite especificar un espacio de nombres para poner la clase generada en.

xsd.exe /classes MyXSDInput.xsd /n:MyCsharpNamespace 
+2

Esta es una solución de trabajo +1 –

3

Hay un proyecto muy interesante XSD2Code en CodePlex. Básicamente hace lo mismo que xsd.exe, solo que mejor, en la línea de comandos y como complemento de Visual Studio.

¡Simplemente haga clic derecho en un archivo XSD en su explorador de soluciones y ejecute la herramienta!

alt text http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=Xsd2Code&DownloadId=41336

Se puede configurar cualquier espacio de nombres .NET válida como el espacio de nombres de destino para los archivos de código generado.

Actualización: la herramienta XSD2Code se ha desarrollado aún más y ahora se ofrece tanto como una herramienta comercial pagado y - see the official home page for more details.

+0

Esta herramienta (Xsd2Code) puede ser extremadamente útil pero no puedo usarla en nVS2012. Intenté tanto el add-on de VS Gallery como la descarga de Codeplex. Ninguno funcionó, así que voto: 1 abajo para su respuesta –

+1

@achristov: lo siento escuchar, pero no puedo reproducir sus problemas. Acabo de descargar la herramienta nuevamente. de Codeplex, lo instalé, reinicié Visual Studio y puedo usar la herramienta XSD2Code muy bien. Un voto a la baja parece un poco duro: si hay un problema, entonces sería el ** trabajo del autor ** arreglarlo, y no debería 't be * castigado * por tal problema ... –

+0

He encontrado el enlace a Xsd2Code aquí, en su respuesta. Una vez que hay problemas con la instalación de una herramienta, no sirve de nada, ¿verdad? ¿Debo continuar? –