debo crear un proyecto que cree, envié y reciba un archivo xml

Iniciado por shadu, 22 Octubre 2018, 18:47 PM

0 Miembros y 1 Visitante están viendo este tema.

shadu

hola necesito crear un trabajo para la universidad  que  cree, envié y reciba un archivo xml la verdad no tengo idea de como hacerlo me podrían orientar el como hacerlo o que buscar para poder hacerlo
proyecto es debe ser en c#

Machacador

Aquí no le hacen las tareas a nadie... debes mostrar algo del trabajo que lleves hecho y pedir ayuda para tus dudas... solo así alguien atenderá a tu pedido...

:rolleyes: :o :rolleyes:

Saludos.
"Solo tu perro puede admirarte mas de lo que tu te admiras a ti mismo"

z3nth10n

Ya que estamos en foro libre.

Me apuesto lo que quieras a que ni te has molestado en ver como se lee un XML (ya te lo digo yo: con serialización)

Si te sirve, esto lo implemente el otro día:

Código (csharp) [Seleccionar]
using System;
using System.IO;
using System.Xml.Serialization;
using UnityEngine;

namespace GTAMapper.Extensions
{
   public static class SerializerHelper
   {
       public static string Serialize<T>(this T data, SerializeFormat format = SerializeFormat.XML)
       {
           switch (format)
           {
               case SerializeFormat.XML:
                   return SerializeToXml(data);

               case SerializeFormat.JSON:
                   return SerializeToJson(data);

               default:
                   return string.Empty;
           }
       }

       public static T Deserialize<T>(this string data, SerializeFormat format = SerializeFormat.XML)
       {
           switch (format)
           {
               case SerializeFormat.XML:
                   return DeserializeToXml<T>(data);

               case SerializeFormat.JSON:
                   return DeserializeFromJson<T>(data);

               default:
                   return default(T);
           }
       }

       /*public static string SerializeToXml<T>(T data)
       {
           var serializer = new DataContractSerializer(data.GetType());
           var builder = new StringBuilder();
           var writer = XmlWriter.Create(builder);
           serializer.WriteObject(writer, data);
           writer.Flush();
           return builder.ToString();
       }*/

       private static string SerializeToXml<T>(T data)
       {
           var xmlSerializer = new XmlSerializer(typeof(T));
           // xmlSerializer.WriteProcessingInstruction("xml", "version='1.0'");

           using (var stringWriter = new StringWriter())
           {
               xmlSerializer.Serialize(stringWriter, data);
               return stringWriter.ToString();
           }
       }

       /*public static T DeserializeToXml<T>(string data)
       {
           var serializer = new DataContractSerializer(data.GetType());
           var writer = XmlReader.Create(GenerateStreamFromString(data));
           var result = serializer.ReadObject(writer);
           return (T)result;
       }*/

       private static T DeserializeToXml<T>(string data)
       {
           try
           {
               var xmlSerializer = new XmlSerializer(data.GetType());
               using (var stream = GenerateStreamFromString(data))
               {
                   var result = xmlSerializer.Deserialize(stream);
                   return (T)result;
               }
           }
           catch (Exception ex)
           {
               Debug.LogException(ex);
               Debug.Log(data);
               return default(T);
           }
       }

       private static Stream GenerateStreamFromString(string s)
       {
           // using
           var stream = new MemoryStream();
           var writer = new StreamWriter(stream, System.Text.Encoding.UTF8);

           writer.Write(s);
           writer.Flush();
           stream.Position = 0;

           return stream;
       }

       private static string SerializeToJson<T>(T data)
       {
           //return JsonConvert.SerializeObject(data);
           throw new NotImplementedException();
       }

       private static T DeserializeFromJson<T>(string data)
       {
           //return JsonConvert.DeserializeObject<T>(data);
           throw new NotImplementedException();
       }
   }

   public enum SerializeFormat
   {
       XML = 1,
       JSON = 2
   }
}


Pero voy a poner el mismo esfuerzo (para explicar el código) que has puesto tu en formular tu pregunta. 2 líneas.

Un saludo. ;)

Interesados hablad por Discord.

shadu

pido disculpas si pereció pedí me hicieran el trabajo pero no fue asi solo pedía ayuda con que me orientaran a que debía buscar, e estado buscando por mi cuenta y lo ubico que encontrado es q ue al parecer la definición de lo que hago o quiero o debo hacer el algo de data set con schema altamente tipeados