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

cómo Insertar string en XML con AppendText??

Estas en el tema de cómo Insertar string en XML con AppendText?? en el foro de .NET en Foros del Web. Hola! Tengo un XML, en el cual estoy insertando lineas de otro XML, pero ademas quiero insertar en alguna parte del XML la hora a ...
  #1 (permalink)  
Antiguo 11/08/2006, 07:55
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años, 9 meses
Puntos: 0
cómo Insertar string en XML con AppendText??

Hola!

Tengo un XML, en el cual estoy insertando lineas de otro XML, pero ademas quiero insertar en alguna parte del XML la hora a la que se inserta esa línea, solo que no se cómo hacerlo =( ...

Les muestro el código, espero que me puedan ayudar =( ...

Código:
static void Main(string[] args)
		{
			//display the UserName currently logged
			//Console.WriteLine(System.Environment.UserName);
			//Console.ReadLine();


			DateTime today=DateTime.Today;
			String currentDate= today.ToString("yyyy-MM-dd");
			
			String nombre_directorio="\\C:\\folder\\web\\xml\\"+currentDate;
			String nombre_canal=nombre_directorio+"\\CANALM.XML";
			String nombre_archivo=nombre_directorio+"\\UltimasNoticias.xml";
			String archivo_completo;
			
			if (File.Exists(nombre_archivo))
			{
				String line;
				archivo_completo=convertToStringFile(nombre_archivo);
				deleteLastLine(nombre_archivo, nombre_directorio);
				StreamWriter sw_general = File.AppendText(nombre_archivo);
				StreamReader sr_canal = new StreamReader(nombre_canal);
				for(int i=0; i<23; i++)
				{
					//avanzando el apuntador hasta la primer linea de las noticias
					sr_canal.ReadLine();
				}
				while ((line = sr_canal.ReadLine()) != null) 
				{
					//copiar linea por linea
					if(line.Equals("<noticia>"))
					{
						String line2=sr_canal.ReadLine();
						if(exiteNoticia(archivo_completo, line2))
						{
							while(((line = sr_canal.ReadLine()) != null)&& (!line.Equals("</noticia>")))
							{
								//va brincando las lineas que ya tiene
								//line=sr_canal.ReadLine();
							}
						}
						else
						{
							sw_general.WriteLine(line);
							sw_general.WriteLine(line2);
							while(((line = sr_canal.ReadLine()) != null)&& (!line.Equals("</noticia>")))
							{
								sw_general.WriteLine(line);
							}
							if(line!=null)
							{
								sw_general.WriteLine(line);
							}
						}
					}
					else
					{
						sw_general.WriteLine(line);
					}
					
				}
				sr_canal.Close();
				sw_general.Close();
				
			}
			else
			{
				File.Copy(nombre_canal, nombre_archivo);
				archivo_completo=" ";
				
			}


private static bool exiteNoticia(String archivo_completo, String line)
		{
			int indice=archivo_completo.IndexOf(line);
			if(indice<0)
			{
				//no existe
				return false;
			}
			else
			{
				return true;
			}

		}
		private static String convertToStringFile(String nombre_archivo)
		{
			StreamReader sr_general = new StreamReader(nombre_archivo);
			String archivo_completo= sr_general.ReadToEnd();
			sr_general.Close();
			return archivo_completo;
		}
		private static void generaBatCopiarArchivos(String nombre_directorio, String nombre_canal, String archivo_completo, StreamWriter sw_bat_pasa_produccion)
		{
			//es el archivo que se acaba de recuperar del ftp
			String line;
			DateTime today=DateTime.Today;
			String currentDate= today.ToString("yyyy-MM-dd");
			StreamReader sr_canal = new StreamReader(nombre_canal);
			for(int i=0; i<24; i++)
			{
				//avanzando el apuntador hasta la primer linea de las noticias
				sr_canal.ReadLine();
			}
Gracias!
  #2 (permalink)  
Antiguo 11/08/2006, 09:38
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 11 meses
Puntos: 1
No entiendo exactamente lo que quieres hacer, pero te recomiendo que utilices las clases XMLDocument, XMLNode y XMLElement (entre otras) para manipular XML. Se te va a hacer mucho mas sencillo.
__________________
saludos
seba
http://sgomez.blogspot.com
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 12:51.