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!