none
Como convertir una clase en un XmlDocument ? RRS feed

  • Pregunta

  • Hola...

    Desarrollo una aplicacion donde establesco los valors de una clase, de la siguiente manera, luego  nesecito convertir la instancia de esta clase en un XmlDocument , esto se puede hacer ? Como ?

    Lo que estoy tratando de evitar es crear un archivo .XML en mi pc para luego cargarlo en el XmlDocument con el metodo Load()  ...espero haberme explicado.

    public XmlDocument CrearEstructuraFactura( string numeroConsecutivo, string mClave,XmlDocument xmlDoc) { DateTime horaFechaActual = DateTime.Now; string horaFecha = DateCR.GetFechaHora(horaFechaActual, "dateFormat"); FacturaElectronica FacturaElectronica = new FacturaElectronica() { Clave = mClave, NumeroConsecutivo = numeroConsecutivo, FechaEmision = Convert.ToDateTime(DateTime.UtcNow.ToString(dateFormat)), Emisor = new EmisorType { Nombre = "Neotecnologias S.A.", Identificacion = new IdentificacionType { Numero = "3101408861", Tipo = (IdentificacionTypeTipo)Enum.Parse(typeof(IdentificacionTypeTipo), "Item02") }, NombreComercial = "Neotecnologias S.A.", Ubicacion = new UbicacionType { Provincia = "1", Canton = "01", Distrito = "01", Barrio = "04", OtrasSenas = "Carmen" }, Telefono = new TelefonoType { CodigoPais = "058", NumTelefono = "02418317261" }, Fax = new TelefonoType { CodigoPais = "058", NumTelefono = "04127568744" }, CorreoElectronico = "efrainmejiasc@gmail.com" }

    //AQUI ALGO COMO xmldoc = (XmlDocument)FacturaElectronica; return xmlDoc; }



    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    martes, 20 de febrero de 2018 9:14

Respuestas

  • Puedes utilizar la clase XMLSerializer:

    xmlDoc = new XmlDocument();
    var nav = xmlDoc.CreateNavigator();
    using (XmlWriter writer = nav.AppendChild())
    {
        var serializer = new XmlSerializer(typeof(FacturaElectronica));
        serializer.Serialize(writer, FacturaElectronica);
    }
    
    return xmlDoc;
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 20 de febrero de 2018 10:15

Todas las respuestas

  • Puedes utilizar la clase XMLSerializer:

    xmlDoc = new XmlDocument();
    var nav = xmlDoc.CreateNavigator();
    using (XmlWriter writer = nav.AppendChild())
    {
        var serializer = new XmlSerializer(typeof(FacturaElectronica));
        serializer.Serialize(writer, FacturaElectronica);
    }
    
    return xmlDoc;
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 20 de febrero de 2018 10:15
  • Hola ...Asier Villanueva...

    Donde estableces  que valor de xmlDoc  es igual al contenido de FacturaElectronica ??


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    martes, 20 de febrero de 2018 10:54
  • Hola ...Asier Villanueva...

    Donde estableces  que valor de xmlDoc  es igual al contenido de FacturaElectronica ??


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    No entiendo bien a qué te refieres.

    El código lo que hace es crear un objeto XmlDocument nuevo y generar su contenido a partir del contenido de FacturaElectronica.

    La instrucción:

    serializer.Serialize(writer, FacturaElectronica);

    serializa el contenido de FacturaElectronica pasando el resultado a writer que es un objeto XmlWriter asociado al objeto XmlDocument creado.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 20 de febrero de 2018 11:37