Foros del Web » Programación para mayores de 30 ;) » Programación General »

Hacer aplicación que modifique linea en archivo xml

Estas en el tema de Hacer aplicación que modifique linea en archivo xml en el foro de Programación General en Foros del Web. Hola a todos. Quisiera saber cómo hacer una pequeña aplicación que sustituya la última línea de un archivo xml por 5 líneas de forma automática. ...
  #1 (permalink)  
Antiguo 13/02/2013, 07:00
 
Fecha de Ingreso: octubre-2012
Mensajes: 3
Antigüedad: 11 años, 6 meses
Puntos: 0
Hacer aplicación que modifique linea en archivo xml

Hola a todos.

Quisiera saber cómo hacer una pequeña aplicación que sustituya la última línea de un archivo xml por 5 líneas de forma automática. Es decir, que borre la última línea y pegue allí 5 líneas. La idea es enviar ese archivo a un cliente y que al ejecutarlo como administrador se le añadan esas líneas a un archivo xml de su ordenador.

No encuentro nada en internet y me estoy volviendo loco.

Un saludo y muchas gracias!!!
  #2 (permalink)  
Antiguo 14/02/2013, 05:26
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Hacer aplicación que modifique linea en archivo xml

Buenas!

En VB.net, podrías hacer algo tal que:

Código:
Dim lineas(5) = ...'las lineas que quieres añadir
Dim cont as integer = 0
Dim objReader As New StreamReader(ruta)
Dim lineas() As String = Split(objReader.ReadToEnd(), vbCrLf) 'quizás tienes que 
cambiarlo por vbCr o vbLf

lineas(lineas.length-1) = ''

reDim preserve lineas(lineas.lenght+3)

For i=5 to 0
  lineas(lineas.length-i) = lineas(cont)
  cont += 1
Next

Dim sw as new StreamWritter(ruta, false)

For i=0 to lineas.length-1
  sw.writeLine(lineas(i))
Next
En principio debería funcionar algo así... pero quizás tienes que cambiar algo... de todas maneras, el algoritmo general sería:

Código:
 - Lees el archivo entero, y lo divides por cada salto de línea
 - Borras la última línea
 - Añades las 5 líneas
 - Escribes el fichero de nuevo
Espero te sirva.

Saludos.
  #3 (permalink)  
Antiguo 30/03/2013, 23:20
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Hacer aplicación que modifique linea en archivo xml

Hola, este es el código en python. No es una forma muy eficiente por que lees todo el archivo pero hace lo que necesitas:

Código:
xml = open("xml.xml", "r+")
nuevas = open("nuevasLineas.txt")
lineas = xml.read().split()
lineasNuevas = nuevas.read().split()
nuevo = "".join([x+"\n" for x in lineas[0:len(lineas)-1] + lineasNuevas])
xml2 = open("xml2.xml", "w")
xml2.write(nuevo)
xml.close()
xml2.close()
Asumo que tienes un archivo xml.xml original, uno nuevasLineas.txt que tiene las 5 lineas que quieres agregar y escribe un nuevo archivo xml2.xml ya con el resultado. Saludos.

Etiquetas: xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.