/// <summary> /// Enregistre la liste dans un fichier config xml /// </summary> /// <param name="fichierXML"></param> public void SerializeToFile(ParamValues datavalue, string fichierXML) { try { // vérif et convert ParamValues dvforxml = datavalue.Clone(); foreach (ParamValuesNode itemd in dvforxml.GetList()) { if (itemd.Name.Length > 0 && itemd.Name[0] != '/') { itemd.Name = "/noparam/" + itemd.Name; } } XmlTextWriter XmlTextWriter = new XmlTextWriter(fichierXML, System.Text.Encoding.UTF8); XmlTextWriter.Formatting = Formatting.Indented; XmlTextWriter.WriteStartDocument(); XmlTextWriter = savewriteburn(XmlTextWriter, dvforxml); XmlTextWriter.Flush(); //vide le buffer XmlTextWriter.Close(); // ferme le document } finally { } }
/// <summary> /// Enregistre la liste dans un fichier config xml /// </summary> /// <param name="fichierXML"></param> public string Serialize(ParamValues datavalue) { string fluxxml = ""; //chaine xml final if (datavalue.Count() == 0) { return("<?xml version=\"1.0\" ?><param><empty>True</empty></param>"); } ParamValues dvforxml = null; // datavalue buffer try { try { // vérif et convert dvforxml = datavalue.Clone(); try { dvforxml.Sort(); } catch { } foreach (ParamValuesNode itemd in dvforxml.GetList()) { if (itemd.Name.Length > 0 && itemd.Name[0] != '/') { itemd.Name = "/noparam/" + itemd.Name; } } } catch (Exception ev) { throw new Exception("Verif : " + ev.Message); } StringBuilder builder = new StringBuilder(); using (StringWriter stringWriter = new StringWriter(builder)) { XmlTextWriter writer = new XmlTextWriter(stringWriter); // This produces UTF16 XML writer.Indentation = 1; writer.IndentChar = '\t'; writer.Formatting = Formatting.Indented; writer.WriteStartDocument(); writer = savewriteburn(writer, dvforxml); writer.WriteEndDocument(); writer.Close(); } fluxxml = builder.ToString(); } catch (Exception e) { throw new Exception("Datavalue toFluxXml : " + e, e); } finally { } //if (this.datavalue.isEncrypted) fluxxml = cryptageFlux(fluxxml); return(fluxxml); }