HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Adattárolás XML-ben a legegyszerűbb módon


Példaprogram letöltése

8087 bájt

E cikkben annak járunk utána, hogy miként hozhatunk létre egy XML állományt és abban miként helyezhetünk el tetszőleges XML elemeket, adatokat a legegyszerűbb módon.

A feladat megoldásában segítségünkre lesz az XmlTextWriter nevű osztály, melynek függvényeivel igen egyszerű módon írhatunk adatokat egy XML állományba.
Első lépés az XML állomány létrehozása, melyről már az osztály konstruktorában rendelkezhetünk. Itt kell megadnunk a létrehozandó XML állomány nevét, elérési útvonalát, illetve kódolásának típusát.
    private void button1_Click(object sender, System.EventArgs e)
    {
      XmlTextWriter xtw = new XmlTextWriter(Application.StartupPath+"\\test.xml", UnicodeEncoding.Unicode);    
Bármilyen adat írása előtt meg kell hívnunk a WriteStartDocument függvényt. Ez elhelyezi az állományba a szükséges kezdő sort.
      xtw.WriteStartDocument();
A Formattin property-n keresztül megadhatjuk, hogy az XML állományba kerülő bejegyzések legyenek-e formázva vagy sem. Ha az Indented értéket választjuk, akkor a formázás annyiból fog állni, hogy az egyes sorok behúzása a XML tartalmának megfelelően alakul. Az egyes sorok behúzásának mértéke a Indentation property-n keresztül adható meg.
      xtw.Formatting = Formatting.Indented;
      xtw.Indentation = 5;
Megjegyzést a WriteComment függvénnyel írhatunk az XML állományba.
      xtw.WriteComment("www.SoftwareOnline.hu");
XML állományunk eddig így néz ki:
<?xml version="1.0" encoding="utf-16"?>
<!--www.SoftwareOnline.hu-->
Egy új elem felvételéhez a WriteStartElement függvény hívása szükséges. Ehhez az elemhez attribútumot is rendelhetünk a WriteAttributeString függvény hívásával. Itt paraméterként az attribútum nevét és értékét kell megadnunk.
      xtw.WriteStartElement("Adatok");      
      xtw.WriteAttributeString("attr", "150");
XML állományunkhoz most egy újabb sor kerül:
<?xml version="1.0" encoding="utf-16"?>
<!--www.SoftwareOnline.hu-->
<Adatok attr="150">
Vegyünk fel néhány adatot is az „Adatok” elemhez. Ehhez a WriteElementString függvényt használhatjuk. Paraméterként az elem nevét és értékét kell megadni.
      xtw.WriteElementString("Adat", "Érték 1");
      xtw.WriteElementString("Adat", "Érték 2");
Ha most néznénk meg az XML állományt, akkor ezt látnánk:
  <Adatok attr="150">
     <Adat>Érték 1</Adat>
     <Adat>Érték 2</Adat>
Vegyünk fel még néhány elemet, melyeket egy „Szám” nevű csoportba sorolunk. Ehhez a már ismert függvényeket használjuk. A „Szám” csoport zárásához a WriteEndElement függvény hívása szükséges.
      Random r = new Random();
      for (int i=0; i<10; i++)
      {
        xtw.WriteStartElement("Szám");
        xtw.WriteElementString("Ciklus", i.ToString());
        xtw.WriteElementString("Random", r.Next(Int32.MaxValue).ToString());
        xtw.WriteEndElement();
      }
A ciklus futása után az XML állományunk az alábbi elemekkel bővül:
     <Szám>
          <Ciklus>0</Ciklus>
          <Random>1694927968</Random>
     </Szám>
     <Szám>
          <Ciklus>1</Ciklus>
          <Random>549830275</Random>
     </Szám>
     ...
Az állomány írásának kezdetén létrehoztuk az „Adatok” főcsoportot, melyet most az állomány írásának befejezése előtt le kell zárnunk, majd a WriteEndDocument függvény hívásával magát az XML dokumentumot is zárjuk.
      xtw.WriteEndElement();       
      xtw.WriteEndDocument();
Befejező lépésként a létrejött állományt is zárnunk kell.
      xtw.Flush();
      xtw.Close();
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 160. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |