Reemplazar texto en archivo

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
kemazonico
Aprendiz de Mago
Mensajes: 29
Registrado: 26 May 2007, 19:25

Reemplazar texto en archivo

Mensaje por kemazonico »

Hola amigos.

Estoy realizando un programa para automatizar un proceso, sin embargo tengo un pequeño problema.
tengo el siguiente texto de un archivo xml:

Código: Seleccionar todo

<logging>on</logging>
<retry time-out="5" channel-delay="5" index-delay="1" show-delay="1">4</retry> show-delay="2"
<skip>11,3</skip>
<timespan>4</timespan>
<update>i</update>
    <channel update="i" site="entutele.com" site_id="/canal/ae" xmltv_id="AE">AE</channel>
    <channel update="i" site="entutele.com" site_id="/canal/amc-hd" xmltv_id="AMC HD">AMC HD</channel>
    <channel update="i" site="entutele.com" site_id="/canal/animal-planet" xmltv_id="Animal Planet">Animal Planet</channel>
    <channel update="i" site="entutele.com" site_id="/canal/antena-3" xmltv_id="Antena 3">Antena 3</channel>
    <channel update="i" site="entutele.com" site_id="/canal/axn-hd" xmltv_id="AXN HD">AXN HD</channel>
Quiero encontrar por ejemplo la linea que contenga ">AMC HD<", y agregarle "<!-- " al principio y al final " -->" sin modificar nada mas, con esto la linea quedaria comentada asi:

Código: Seleccionar todo

<!-- <channel update="i" site="entutele.com" site_id="/canal/amc-hd" xmltv_id="AMC HD">AMC HD</channel> -->
No encuentro como hacerle, ojala me puedan orientar.
Salu2!
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Reemplazar texto en archivo

Mensaje por Dany »

Hola. Creo que algo así funcionaria. (No lo probé)

Código: Seleccionar todo

Local $aFile = FileReadToArray("FileIn.xml")

For $i = 0 To UBound($aFile) - 1
	If StringInStr($aFile[$i], "AMC HD") Then
		$aFile[$i] = '<!-- ' & $aFile[$i] & '-->'
	EndIf
Next

For $i = 0 To UBound($aFile) - 1
	FileWrite("FileOut.xml", $aFile[$i] & @CRLF)
Next

Saludos
  • ............................................Imagen
    ......................................Imagen
Responder