List <XmlElement> GetAdvancedSettings() { MemoryStream memStream = new MemoryStream(); XmlFragmentWriter xmlWriter = new XmlFragmentWriter(memStream, new UTF8Encoding(false)); { List <object> settings = View.SettingsView.AdvancedSettings; int notNull = 0; foreach (object parameters in settings) { if (parameters != null) { notNull++; System.Xml.Serialization.XmlSerializer serializer = new XmlSerializer(parameters.GetType()); serializer.Serialize(xmlWriter, parameters); } } if (notNull > 0) { xmlWriter.WriteEndElement(); } } xmlWriter.Close(); string str = Encoding.UTF8.GetString(memStream.GetBuffer()); XmlDocument doc = new XmlDocument(); if (!string.IsNullOrEmpty(str)) { doc.LoadXml(str); } /*********************************************/ List <XmlElement> elements = new List <XmlElement>(); if (doc.DocumentElement != null) { foreach (XmlElement element in doc.DocumentElement.ChildNodes) { elements.Add(element); } } return(elements); }
void IDisposable.Dispose() { writer.Close(); }