visual valid remarks example documentacion cref comment comentarios c# .net xml xsd

remarks - which example is a valid visual c# xml documentation comment



Generar clase C#desde XML (8)

¿Puedo generar una clase C # desde un archivo XML?


Al principio pensé que la Pasta Especial era el santo grial! Pero luego lo probé y mi cabello se volvió blanco al igual que la película de Indiana Jones.

Pero ahora uso http://xmltocsharp.azurewebsites.net/ y ahora 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; }


Debes considerar svcutil ( svcutil question )

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 varias herramientas de terceros también existen para esto.


Me doy cuenta de que esta es una publicación bastante antigua y probablemente ya hayas pasado.

Pero tuve el mismo problema que tú, así que decidí escribir mi propio programa.

El problema con la ruta "xml -> xsd -> classes" para mí fue que solo generó un trozo de código que era completamente imposible de mantener y terminé haciéndolo.

De ninguna manera es elegante, pero hizo el trabajo por mí.

Puedes obtenerlo aquí: por favor haz sugerencias si te gusta.

SimpleXmlToCode


Para convertir XML en una clase de C #:

  • Vaya a Microsoft Visual Studio Marketplace: - https://marketplace.visualstudio.com
  • En la barra de búsqueda ingrese el texto: - Herramienta XML para código de clase
  • Descarga, instala y usa la aplicación

Nota: en la plenitud del tiempo, esta aplicación puede ser reemplazada, pero es probable que haya otra herramienta que haga lo mismo.


Puedes usar xsd como lo sugiere Darin.

Además de eso, se recomienda editar el archivo test.xsd para crear un esquema más razonable.

type="xs:string" se puede cambiar a type="xs:int" para valores enteros
minOccurs="0" se puede cambiar a minOccurs="1" donde se requiere el campo
maxOccurs="unbounded" se puede cambiar a maxOccurs="1" donde solo se permite un elemento

Puede crear xsd-s más avanzados si desea validar más sus datos, pero al menos esto le dará tipos de datos razonables en el c # generado.


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 la solicitud de comando del desarrollador a d: / temp.

Si genera clases para una matriz multidimensional, hay un error en el generador XSD.exe, pero hay soluciones alternativas .


Si está trabajando en un proyecto .NET 4.5 en VS 2012 (o más reciente), simplemente puede Pegar su archivo XML como clases.

  1. Copia el contenido de tu archivo XML al portapapeles
  2. En el editor, seleccione el lugar donde desea que se peguen sus clases
  3. En el menú, seleccione EDIT > Paste Special > Paste XML As Classes

Use la siguiente sintaxis para crear una clase de esquema a partir del archivo XSD.

C:/xsd C:/Test/test-Schema.xsd /classes /language:cs /out:C:/Test/