
Cómo se lee:
private void LeerFicheroXML()
{
XmlTextReader lectorXML = new XmlTextReader(strRutaDocumentoXML);
StreamReader lector = new StreamReader(strRutaDocumentoXML, System.Text.Encoding.UTF8);
lectorXML.Namespaces = false;
contador = 0;
while (lectorXML.Read())
{
switch (lectorXML.NodeType)
{
case XmlNodeType.Element:
switch (lectorXML.Name)
{
case "NombreRepositorio":
CmbListaRepositorios.Items.Add(lectorXML.ReadString());
contador++;
break;
case "Email":
CmbListaEmails.Items.Add(lectorXML.ReadString());
contador++;
break;
case "Fecha":
break;
contador++;
case "Hora":
contador++;
break;
}
break;
}
}
lectorXML.Close();
lector.Close();
}
Cómo se agregan datos utilizando arrays auxiliares:
private void AgregagandoDatos()
{
contador++;
string[] emails; // Declaración del array
emails = new string[contador]; // Instanciación del array
string[] nombreRepositorios;
nombreRepositorios = new string[contador];
string[] fechas;
fechas = new string[contador];
string[] horas;
horas = new string[contador];
for (int i = 0; i <>
{
fechas[i]="";
horas[i]="";
nombreRepositorios[i]="";
emails[i]="";
}
//declaro el lector y el escritor
XmlTextReader lectorXML = new XmlTextReader(strRutaDocumentoXML);
StreamReader lector = new StreamReader(strRutaDocumentoXML, System.Text.Encoding.UTF8);
lectorXML.Namespaces = false;
try
{
//comienzo la lectura
int ind = 0, indE=0, indN=0, indH=0, indF=0;
while (lectorXML.Read())
{
switch (lectorXML.NodeType)
{
case XmlNodeType.Element:
switch (lectorXML.Name)
{
case "NombreRepositorio":
nombreRepositorios[indN] = lectorXML.ReadString();
indN++;
break;
case "Email":
emails[indE] = lectorXML.ReadString();
indE++;
break;
case "Fecha":
fechas[indF] = lectorXML.ReadString();
indF++;
break;
case "Hora":
horas[indH] = lectorXML.ReadString();
indH++;
break;
}
break;
}
}
lectorXML.Close();
lector.Close();
//y ahora comienzo a escribir en el archivo
XmlTextWriter escritorXML = new XmlTextWriter(strRutaDocumentoXML, Encoding.UTF8);
escritorXML.Formatting = Formatting.Indented;
escritorXML.WriteStartDocument();
ind=0;
while(nombreRepositorios[ind]!="")
{
escritorXML.WriteStartElement("Repositorios");
escritorXML.WriteElementString("NombreRepositorio", nombreRepositorios[ind]);
escritorXML.WriteElementString("Email",emails[ind]);
escritorXML.WriteElementString("Hora", horas[ind]);
escritorXML.WriteElementString("Fecha", fechas[ind]);
ind++;
}
escritorXML.WriteElementString("NombreRepositorio", CmbListaRepositorios.Text);
escritorXML.WriteElementString("Email", CmbListaEmails.Text);
escritorXML.WriteElementString("Hora", GetHora());
escritorXML.WriteElementString("Fecha", GetFecha());
escritorXML.WriteEndElement();
escritorXML.WriteEndDocument();
escritorXML.Flush();
escritorXML.Close();
CmbListaEmails.Items.Add(CmbListaEmails.Text);
CmbListaRepositorios.Items.Add(CmbListaRepositorios.Text);
}
catch (Exception ex)
{
MessageBox.Show("Se produjo el siguiente error: "+ ex.Message + "\n" + ex.InnerException,"Informando", MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
No hay comentarios:
Publicar un comentario