public void Save() { closed = false; XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = Encoding.UTF8; settings.Indent = true; XmlWriter writer = XmlTextWriter.Create(file_name, settings); writer.WriteStartDocument(); writer.WriteStartElement("project"); writer.WriteStartElement("files"); foreach (string s in files) { writer.WriteStartElement("file"); writer.WriteString(s); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteStartElement("options"); PropertyInfo[] props = options.GetType().GetProperties(); foreach (PropertyInfo pi in props) { writer.WriteStartElement("option"); writer.WriteAttributeString("type", pi.Name); writer.WriteValue(pi.GetValue(options, null)); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close(); }