//Procedimiento que actualiza los datos en los archivos private static void ActualizarInfo(XDocument xdoc_guardar, string etiqueta) { XDocument xdoc_interno = null; try { string cadena_xdoc = xdoc_guardar.ToString(); cadena_xdoc = Cifrado.Cripto(cadena_xdoc, "E"); //cadena_xdoc = Cifrado.Cifrar(cadena_xdoc); xdoc_interno = XDocument.Load(rutaArchivo); foreach (XElement xEle in xdoc_interno.Root.Elements("info")) { if (xEle.Attribute("etiqueta").Value.ToString() == etiqueta) { xEle.SetAttributeValue("bytes", cadena_xdoc); } } xdoc_interno.Save(rutaArchivo); } catch (Exception ex) { xdoc_interno = null; } }
//Función que devuelve la información de los archivos según la etiqueta indicada private static XDocument LeerInfo(string etiqueta) { XDocument xdoc_interno = null, xdoc_leido = null; string cadena_xdoc = ""; try { xdoc_interno = XDocument.Load(rutaArchivo); foreach (XElement xEle in xdoc_interno.Root.Elements("info")) { if (xEle.Attribute("etiqueta").Value.ToString() == etiqueta) { cadena_xdoc = xEle.Attribute("bytes").Value.ToString(); } } xdoc_interno = null; cadena_xdoc = Cifrado.Cripto(cadena_xdoc); //cadena_xdoc = Cifrado.Descifrar(cadena_xdoc); if (cadena_xdoc != null) { xdoc_leido = XDocument.Parse(cadena_xdoc); } } catch (Exception ex) { xdoc_leido = null; } return(xdoc_leido); }
//Procedimiento que guarda los datos en los archivos por primera vez private static void GuardarInfo(XDocument xdoc_guardar, string etiqueta) { XDocument xdoc_interno = null; try { string cadena_xdoc = xdoc_guardar.ToString(); cadena_xdoc = Cifrado.Cripto(cadena_xdoc, "E"); //cadena_xdoc = Cifrado.Cifrar(cadena_xdoc); if (etiqueta != "datos") { xdoc_interno = XDocument.Load(rutaArchivo); } else { xdoc_interno = new XDocument(); } XElement xRoot = new XElement("informacion"); XElement xInfo = new XElement("info"); XAttribute xEle = new XAttribute("etiqueta", etiqueta); XAttribute xElb = new XAttribute("bytes", cadena_xdoc); xInfo.Add(xEle); xInfo.Add(xElb); if (etiqueta != "datos") { xdoc_interno.Root.Add(xInfo); } else { xRoot.Add(xInfo); xdoc_interno.Add(xRoot); } xdoc_interno.Save(rutaArchivo); xdoc_interno = null; } catch (Exception ex) { xdoc_interno = null; } }