Articles

Menyimpan konfigurasi program ke XML pada C#

Dalam mengembangkan aplikasi menggunakan bahasa pemrograman C# mungkin ada konfigurasi-konfigurasi file yang dijalankan oleh program kita. Kita dapat menyimpannya dalam file XML yang kita bisa letakkan di suatu tempat yang telah kita tentukan. Sebagai contoh kita akan menyimpan konfigurasi mesin finger print di mana aplikasi kita akan berkomunikasi.

Berikut langkah-langkahnya contoh membuat program menyimpan konfigurasi aplikasi C# pada file XML:

  1. Membuat project misalnya Console
     
  2. Method buatXML:

            public void buatXML()
            {
                
                using (XmlWriter writer = XmlWriter.Create(config_file))
                {

                    Console.WriteLine("Isikan machine_id!");
                    String machine_id = Console.ReadLine();

                    Console.WriteLine("Isikan key_a!");
                    String key_a = Console.ReadLine();

                    Console.WriteLine("Isikan key_b!");
                    String key_b = Console.ReadLine();

                    writer.WriteStartDocument();
                    writer.WriteStartElement("FPMachine");
                    writer.WriteAttributeString("machine_id", machine_id);
                    writer.WriteAttributeString("key_a", key_a);
                    writer.WriteAttributeString("key_b", key_b);
                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                }
            }

  3. Method bukaXML:       
             public void bukaXML()
            {
                string machine_id, key_a, key_b;
                using (XmlReader reader = XmlReader.Create(config_file))
                {
                    while (reader.Read())
                    {
                        if (reader.NodeType == XmlNodeType.Element)
                        {
                            machine_id = reader.GetAttribute("machine_id");
                            key_a = reader.GetAttribute("key_a");
                            key_b = reader.GetAttribute("key_b");

                            Console.WriteLine("machine_id:" + machine_id);
                            Console.WriteLine("key_a:" + key_a);
                            Console.WriteLine("key_b:" + key_b);
                        }
                    }
                }
            }
     
  4. Method Main:
            static void Main(string[] args)
            {
                MesinFP mesin = new MesinFP();
                mesin.config_file="c:/updatefp/config.xml";
                if (args.Length > 0)
                {
                    if (args[0] == "setting")
                    {
                        mesin.buatXML();
                    }
                }
                else
                {
                    mesin.bukaXML();
                }
            }
     
  5. Contoh source code lengkapnya:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Xml;

    namespace XMLku
    {
        class Program
        {
            static void Main(string[] args)
            {
                MesinFP mesin = new MesinFP();
                mesin.config_file="c:/updatefp/config.xml";
                if (args.Length > 0)
                {
                    if (args[0] == "setting")
                    {
                        mesin.buatXML();
                    }
                }
                else
                {
                    mesin.bukaXML();
                }
            }
        }

        class MesinFP
        {
            public string config_file;

            public void buatXML()
            {
                
                using (XmlWriter writer = XmlWriter.Create(config_file))
                {

                    Console.WriteLine("Isikan machine_id!");
                    String machine_id = Console.ReadLine();

                    Console.WriteLine("Isikan key_a!");
                    String key_a = Console.ReadLine();

                    Console.WriteLine("Isikan key_b!");
                    String key_b = Console.ReadLine();

                    writer.WriteStartDocument();
                    writer.WriteStartElement("FPMachine");
                    writer.WriteAttributeString("machine_id", machine_id);
                    writer.WriteAttributeString("key_a", key_a);
                    writer.WriteAttributeString("key_b", key_b);
                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                }
            }

            public void bukaXML()
            {
                string machine_id, key_a, key_b;
                using (XmlReader reader = XmlReader.Create(config_file))
                {
                    while (reader.Read())
                    {
                        if (reader.NodeType == XmlNodeType.Element)
                        {
                            machine_id = reader.GetAttribute("machine_id");
                            key_a = reader.GetAttribute("key_a");
                            key_b = reader.GetAttribute("key_b");

                            Console.WriteLine("machine_id:" + machine_id);
                            Console.WriteLine("key_a:" + key_a);
                            Console.WriteLine("key_b:" + key_b);
                        }
                    }
                }
            }
        }
    }

     
  6. Program membuat XML dijalankan:

    D:\vs2012\XMLku\XMLku\bin\Release>XMLku.exe setting
    Isikan machine_id!
    12
    Isikan key_a!
    34
    Isikan key_b!
    56

    D:\vs2012\XMLku\XMLku\bin\Release>
     
  7. Hasil file XML pada c:/updatefp/config.xml :
    <?xml version="1.0" encoding="utf-8"?><FPMachine machine_id="12" key_a="34" key_b="56" />
     
  8. Kemudian untuk membaca kembali konfigurasi XML tersebut:
    D:\vs2012\XMLku\XMLku\bin\Release>XMLku.exe
    machine_id:12
    key_a:34
    key_b:56

    D:\vs2012\XMLku\XMLku\bin\Release>

Dengan demikian kita telah program untuk menyimpan konfigurasi dan membaca kembali konfigurasi yang ditulis dalam file XML.

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Other Pemrograman C# Articles:
Mencetak langsung ke printer pada C#
Mencetak pada C#
Pemrograman batch pada Windows
Menggunakan NameValueCollection pada C#
Penggunaan blok using pada C#
Menyimpan konfigurasi program ke XML pada C#
Debug dan release pada C#
Menangani parameter pada C#
Object Oriented Programming (OOP) dengan C#
Mengunakan assembly pada C#
Assembly pada C#