2012-03-23 20 views
8

¿Es así que la herramienta svcutil se recomienda sobre la herramienta xsd? No lo vi como una declaración confirmada, pero parecía ser así. La razón por la que estoy confundido sobre esto es que generé una clase usando ambas herramientas. Pero obtuve una mejor clase usando xsd. El esquema XSD consiste solo en DataContracts.Xsd.exe o Svcutil.exe para convertir el esquema XSD a una clase

He utilizado el siguiente comando para svcutil:

svcutil path-to\xyz.xsd /language:C# /dataContractOnly /importxmltypes /out:path-to\class.cs 

Esto genera las clases deseadas. Pero, contenía solo objetos XmlNode [] para los campos.

Entonces, he usado el siguiente comando para xsd:

xsd.exe /c path-to\xyz.xsd /out:path-to\class.cs 

Generó mucho mejores clases de svcutil hizo. La mayoría de los campos se convirtieron como se deseaba.

¿Debo tener alguna razón para creer que debería usar svcutil sobre xsd?

Respuesta

5

Por lo que sé, hay algunas limitaciones con XSD.exe; por ejemplo, cuando hay un Dictionary<,> en la clase, XSD.exe no puede generar un XSD apropiado; como Dictionary no implementa IXmlSerializable.

+0

ok. Tengo varios otros esquemas, que convertiría usando las herramientas, y ver qué es mejor para mi uso. Seleccionaré la herramienta apropiada en consecuencia. –

2

svcutil no admite atributos xml. Si necesita usarlos en su esquema, probablemente esté mejor con xsd.exe.

Personalmente prefiero usar svcutil sobre xsd y he aprendido cómo formar mis esquemas para generar la estructura de clase que quiero, pero también estoy trabajando principalmente con esquemas que estoy desarrollando desde cero, en lugar de consumir predefinidos.

Cuestiones relacionadas