Język XML w Javie

Język XML (ang. Extensible Markup Language) pozwala w strukturalizowany sposób przechowywać dane. Wywodzi się z języka SGML Jego główną zaletą jest niezależność od platformy (jedno z założeń Javy), co ułatwia wymianę danych pomiędzy różnymi systemami zarówno przez sieć internet jak i lokalnie.

Struktura dokumentu XML

Dokument XML powinien rozpoczynać się od deklaracji, która wygląda następująco.

<?xml version=”1.0″ encoding=”UTF-8″?>

Odpowiednio znajdują się informacje na temat wersji języka XML oraz sposobu kodowania znaków w dokumencie.

Następnie może znajdować się sekcja kontrolująca zawartość pliku XML. Prostszą jej wersją jest definicja typu dokumentu (DTD). Natomiast o wiele bardziej złożoną wersją, ale dającą większe możliwości jest język XML Schema.

Definicje typów dokumentu

Ta sekcja może znajdować się bezpośrednio w pliku XML, jednakże lepszym rozwiązaniem jest umieszczenie odnośnika. Poniżej znajduje się przykład takiego odwołania.

<!DOCTYPE product SYSTEM „https://programistajava.pl/produkt.dtd”>

Zgodnie z nazwą pliku postaramy się opisać produkt w sklepie odzieżowym przy pomocy pliku XML.

Głównym węzłem zgodnym z powyższym plikiem DTD będą produkty. Będą się składać z co najmniej jednego elementu produkt. On z kolei składa się z elementów takich jak nazwa, opis, cena, rozmiar oraz kolor. Każdy z elementów można zapisać przy pomocy zwykłego tekstu. Poniżej opiszemy w jaki sposób można definiować DTD.

ZnacznikOpis
Element*0 lub więcej wystąpień elementu
Element+Co najmniej jedno wystąpienie elementu
Element?0 lub 1 wystąpienie elementu
Element1, Element2Kolejno występujące po sobie elementy
Element1 | Element2Jeden z elementów
#PCDATAZwykły tekst

W dalszej części możemy już znaleźć przechowywane w dokumencie dane. Do powyższego opisu poprawny jest poniższa zawartość XML.

Wczytanie zawartości pliku XML

Przy pomocy poniższego kodu można wczytać zawartość pliku XML.

Wynik uruchomienia powyższego kodu widoczny jest poniżej

produkty
nazwa: koszula
opis: Męska koszula w kolorze białym.
cena: 100
rozmiar: M
kolor: Biały
nazwa: Kopertowa sukienka
opis: Piękna kopertowa sukienka w kolorze błękitnym.
cena: 250
rozmiar: XS
kolor: Błękitny