Generar clase C# desde XML
¿Puedo generar una clase C# a partir de un archivo XML?
Si está trabajando en un proyecto .NET 4.5 en VS 2012 (o posterior), puede simplemente pegar de forma especial su archivo XML como clases.
- Copie el contenido de su archivo XML al portapapeles
- En el editor, seleccione el lugar donde desea que se peguen sus clases.
- En el menú, seleccione
EDIT > Paste Special > Paste XML As Classes
Sí, usando xsd.exe
D:\temp>xsd test.xml
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.xsd'.
D:\temp>xsd test.xsd /classes
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.cs'.
Notas
Puede resultar útil responder cómo cambiar el directorio en el símbolo del sistema del desarrollador a d:\temp.
Si genera clases para matrices multidimensionales, hay un error en el generador XSD.exe, pero existen soluciones .
¡Al principio pensé que el Pegado Especial era el santo grial! Pero luego lo probé y mi cabello se volvió blanco como en la película de Indiana Jones.
Pero ahora uso http://xmltocsharp.azurewebsites.net/ y soy tan joven como siempre.
Aquí hay un segmento de lo que generó:
namespace Xml2CSharp
{
[XmlRoot(ElementName="entry")]
public class Entry {
[XmlElement(ElementName="hybrisEntryID")]
public string HybrisEntryID { get; set; }
[XmlElement(ElementName="mapicsLineSequenceNumber")]
public string MapicsLineSequenceNumber { get; set; }
Tuve el mismo problema que tú, así que decidí escribir mi propio programa.
El problema con la ruta "xml -> xsd -> clases" para mí fue que simplemente generó un trozo de código que era completamente imposible de mantener y terminé destruyéndolo.
No es de ninguna manera elegante pero hizo el trabajo para mí. Puedes conseguirlo aquí: SimpleXmlToCode
Por favor haz sugerencias si te gusta.
Deberías considerar svcutil ( pregunta svcutil )
Tanto xsd.exe como svcutil operan en el archivo de esquema XML (.xsd). Su XML debe ajustarse a un archivo de esquema para ser utilizado por cualquiera de estas dos herramientas.
Tenga en cuenta que también existen varias herramientas de terceros para esto.