CLR: .Net / Mono / Boo / Otros CLR > C#
Crear un XML a partir de un TXT
gabio2:
Es muy fácil, sin embargo primero tienes que ordenar tus datos, para ello necesitarás obtener los datos de tú archivo TXT ( http://msdn.microsoft.com/es-es/library/db5x7c0d%28v=vs.80%29.aspx ).
En el link, podrás aprender como leer cada línea que tengas en tú archivo TXT, una vez que tengas la linea, entonces necesitas saber cual es el caracter que separa el nombre de la propiedad con el valor de la propiedad ejemplo:
Código Producto: 1 --> en este caso Código Producto es el nombre de tú propiedad y el 1 es el valor, por lo tanto como lo veo, los dos puntos(:), separán a cada uno.. entonces.. por cada línea que obtengas de tú TXT, deberías hacer un Split a la variable, indicando que los dos puntos es tú separador ( http://msdn.microsoft.com/es-es/library/ms228388%28v=VS.80%29.aspx ).
Hasta este momento, ya deberias saber como leer el TXT y como analizar toda una linea de texto, entonces sólo te falta aplicar esto: http://mredison.wordpress.com/2008/11/28/como-crear-un-documento-xml-en-c/
y listo! :).... esa es una forma de resolver tú problema, si tienes más dudas puedes preguntar.. saludos!..
rogerfor:
Hola otra vez, he leido y probado y pues no me funciona tengo este archivo de texto https://gist.github.com/2877800 y al mostrarlo en el archivo de texto solo me salen los valores de la ultima linea de nada mas, y cuando trato de aplicar el otro ejemplo de split solo me sale la ruta del archivo que estoy usando :/ no se si estoy haciendo algo mal aqui les dejo el codigo por si pueden orientarme un poco disculpen la molestia ya este sbado es la entrega y ps no me llevo nada :/ https://gist.github.com/2877809
rogerfor:
Oigan no se si esto funcione tengo como una idea que analize el .txt que lea cada linea ya asi por ejemplo linea 1 va a ser codigo:1234 y con esa funcion split o no se si hay otra por que estuve probando y como que no sirve para archivos de texto, pues que me parta esa linea y guardarlo asi variable1=codigo: y variable2=1234 ya que asi podria solo llamar a la variable para rellenar la creada del xml pero no se como hacer eso que les dije no si me pueden orientar o si eso no funciona.
gabio2:
El Split funciona correctamente, sólo que lo estás aplicando mal y lo puedes hacer de la siguiente manera:
--- Código: C# --- using (StreamReader sr = new StreamReader("MiArchivo.txt")) { char[] delimiterChars = {':'}; //Declaro una variable, almacenará línea por línea string linea; //Declaro un vector de tipo String, que me servirá para almacenar el resultado del Split. string[] vectorLinea; //Entonces, primero obtenemos el valor de la linea (linea = sr.ReadLine) y luego se valida si es diferente de nulo. while ((linea = sr.ReadLine()) != null) { vectorLinea = linea.Split(delimiterChars); //En este momento vectorLinea tiene los 2 Valores. } }
Espero te sirva saludos! :)
rogerfor:
Oye probe eso pero no me funciona :/ le agregue Console.WriteLine(Vectorlinea); y me de dice system.string[] luego probe vectorlinea[0] y me muestra la ultima linea del documento completa no se que pueda ser esto fue lo que le modifique
--- Código: C# --- { using (StreamReader sr = new StreamReader(@"C:\Users\Familia\Desktop\poliza.txt")) { char[] delimiterChars = { ':' }; //Declaro una variable, almacenará línea por línea string linea; //Declaro un vector de tipo String, que me servirá para almacenar el resultado del Split. string[] vectorLinea={}; //Entonces, primero obtenemos el valor de la linea (linea = sr.ReadLine) y luego se valida si es diferente de nulo. while ((linea = sr.ReadLine()) != null) { vectorLinea = linea.Split(delimiterChars); //En este momento vectorLinea tiene los 2 Valores. } Console.WriteLine(vectorLinea); Console.ReadKey(); } }
Lo que me gustaria es que al llamar vectorlinea[0] me tire lo que esta antes de los puntos y vectorlinea[1] lo q esta despues no se que me falta para eso, ya es para el sabad y no lo logro :/
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa