All pastes #30745 Raw Edit

bipolar

public text v1 · immutable
#30745 ·published 2005-11-23 22:38 UTC
rendered paste body
// created on 11/23/2005 at 9:45 AM
using System;
using System.Collections;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

namespace Expector
{
	[XmlRoot("ConfigFile")]
	public class cl_xmlhandler
	{
		public ArrayList listConfig;
		
		public void ConfigList ()
		{
			listConfig = new ArrayList();
		}
		
		[XmlElement("item")]
		public Item[] Items
		{
			get {
				Item[] items = new Item[ listConfig.Count ];
				listConfig.CopyTo( items );
				return items;
				}
			
			set {
				if( value == null ) return;
				Item[] items = (Item[])value;
				listConfig.Clear();
				foreach( Item item in items ) listConfig.Add( item );
				}
		}
			
		public int AddItem( Item item )
		{
			return listConfig.Add( item );
		}
		
		public class Item
		{
			[XmlAttribute("name")] public string name;
			[XmlAttribute("setting")] public string setting;
			
			public Item()
			{
			}
			
			public Item( string Name, string Setting )
			{
				name = Name;
				setting = Setting;
			}
		}	
	}

	public class cl_confighandler
	{
	cl_xmlhandler Config = new cl_xmlhandler();
		public void initconfig()
		{
			Config.AddItem( new cl_xmlhandler.Item( "username", "changeme") );
			Config.AddItem( new cl_xmlhandler.Item( "server", "127.0.0.1") );
			cl_confighandler confighandler = new cl_confighandler();
			XmlSerializer s = new XmlSerializer( typeof( cl_xmlhandler ) );
			TextWriter w = new StreamWriter( "config.xml" );
			s.Serialize( w, Config );
			w.Close(); 
		}
		public void readconfig()
		{
			XmlSerializer s = new XmlSerializer( typeof( cl_xmlhandler ) );
			cl_xmlhandler newList;
			TextReader r = new StreamReader( "config.xml" );
			newList = (cl_xmlhandler)s.Deserialize( r );
			r.Close();
		}
		
		public void writeconfig()
		{
			XmlSerializer s = new XmlSerializer( typeof( cl_xmlhandler ) );
			TextWriter w = new StreamWriter( "config.xml" );
			s.Serialize( w, Config );
			w.Close(); 
		}
	}	
}