MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Documente XML

Astăzi, XML este unul dintre standardele răspândite pentru documente, care permite păstrarea datelor complexe ca structură într-o formă convenabilă. De aceea, dezvoltatorii platformei .NET au inclus în framework capacități largi pentru a lucra cu XML.

Înainte de a trece direct la lucrul cu fișierele XML, să vedem mai întâi ce reprezintă un document XML și cum poate el să păstreze obiectele utilizate într-un program în C#.

De exemplu, avem următoarea clasă:

class Person
{
   public string Name { get;}
   public int Age { get; set; }
   public string Company { get; set; }
   public Person(string name, int age, string company)
   {
       Name = name;
       Age = age;
       Company = company;
   }
}

Într-un program în C#, putem crea o listă de obiecte ale clasei Person:

var employees = new List<Person>
{
   new Person ("Tom", 37, "Microsoft"),
   new Person ("Bob", 41, "Google")
};

Pentru a salva lista în format XML, am putea folosi următorul fișier XML:

xml
<?xml version="1.0" encoding="utf-8" ?>
<people>
 <person name="Tom">
   <company>Microsoft</company>
   <age>37</age>
 </person>
 <person name="Bob">
   <company>Google</company>
   <age>41</age>
 </person>
</people>

Documentul XML este declarat prin linia <?xml version="1.0" encoding="utf-8" ?>. Aceasta specifică versiunea (1.0) și codificarea (utf-8) a XML-ului. Apoi urmează conținutul propriu-zis al documentului.

Documentul XML trebuie să aibă un singur element rădăcină, în care sunt plasate toate celelalte elemente. În acest caz, acest element este <people>. În interiorul elementului rădăcină <people> este definit un set de elemente <person>. În afara elementului rădăcină nu putem plasa elemente person.

Fiecare element este definit prin intermediul tagurilor de deschidere și închidere, de exemplu, <person> și </person>, în interiorul cărora este plasată valoarea sau conținutul elementelor. De asemenea, un element poate avea o declarație scurtă: <person /> - la sfârșitul elementului este plasată o bară oblică.

Un element poate avea elemente și atribute încorporate. În acest caz, fiecare element person are două elemente încorporate company și age și un atribut name.

Atributele sunt definite în corpul elementului și au următoarea formă: nume="valoare". De exemplu, <person name="Bill Gates">, în acest caz, atributul se numește name și are valoarea Bill Gates.

În interiorul elementelor simple este plasată valoarea lor. De exemplu, <company>Google</company> - elementul company are valoarea Google.

Numele elementelor sunt sensibile la majuscule și minuscule, astfel <company> și <COMPANY> vor reprezenta elemente diferite.

Astfel, întreaga listă Users din codul C# corespunde elementului rădăcină <people>, fiecare obiect Person corespunde unui element <person>, iar fiecare proprietate a obiectului Person corespunde unui atribut sau unui element încorporat al elementului <person>.

Ce să folosești pentru proprietăți - elemente încorporate sau atribute? Aceasta este o chestiune de preferință - putem folosi fie atribute, fie elemente încorporate. Astfel, în exemplul anterior, putem folosi în locul unui atribut un element încorporat:

xml
<?xml version="1.0" encoding="utf-8" ?>
<people>
 <person>
   <name>Tom</name>
   <company>Microsoft</company>
   <age>37</age>
 </person>
 <person>
   <name>Bob</name>
   <company>Google</company>
   <age>41</age>
 </person>
</people>

Acum să analizăm principalele abordări pentru a lucra cu XML în C#.

← Lecția anterioară Lecția următoare →