Dokumenty XML pozwalają na przetrzymywanie danych w wygodnej postaci (możliwość edycji edytorem tekstowym). Język C# ma przygotowaną specjalną biblioteką do parsowania takich dokumentów w celu odczytania informacji. W tym artykul zostanie wyjaśnione jak wczytać zapisany plik XML.
Program ma za zadanie odczytać dane z pliku tekstowego example.xml. Wewnątrz pliku zostały zapisane informacje dotyczące typów danych w języku C#. Postać pliku jest następująca:
Korzeniem dokumentu jest obiekt types wewnątrz którego zostału mieszczone obiekty type. Każdy typ danych ma dwa atrybuty. Są to nazwa oraz rozmiar w pamięci podany w bitach. Dla ułatwienia plik umieszczamy w tym samym folderze co program.
Obiekt XmlDocument pozwala sparsować dokument XML, ale jedynie z zmiennej typu string, więc wpierw należy załadować plik używając dowolnego sposobu. Najwygodniej jest użyć klasy File. Jeśli plik znajduje się w innej lokalizacji niż program to należy podać pełną ścieżkę!
Dokument został załadowany, więc można teraz przejść do odczytu danych. Na najwyższym poziomie znajdują się dwa elementy: deklaraca formatu XML oraz obiekt types. Wybieramy ten drugi poprzez odczytania danych pod indeksem "types". Następnie można wypisać ilu potomków ma dany obiekt.
Przejdźmy teraz do wypisywania wszystkich typów. Można do tego użyć pętli foreach. Zarówno korzeń jak i każdy jego potomek mają typ XmlElement.
W celu odczytania atrybutów wybranego elementu korzystamy z metody GetAttribute(), która jako argument przyjmuje nazwę atrybutu do odczytania. Metoda ta zwróci wartość jako tekst, więc w przypadku liczb należy dokonać konwersji na liczbę oddzielnie.
Korzystanie z biblioteki XML jest wygodne i bardzo intuicyjne. W następnych artykułach zostanie podane jak edytować i zapisywać dokument XML oraz metody odczytywania bardziej skomplikowanych dokumentów.