XML (ang. Extensible Markup Language, czyli rozszerzalny język znaczników) to uniwersalny format przechowywania i wymiany danych w formie tekstowej, który został zaprojektowany z myślą o prostocie i czytelności zarówno dla ludzi, jak i maszyn. Jego głównym celem jest umożliwienie strukturalnego przedstawienia danych w sposób, który jest niezależny od konkretnego systemu, aplikacji czy platformy sprzętowej. Jest niezależny od systemu operacyjnego czy platformy, dzięki czemu świetnie sprawdza się w wymianie informacji między różnorodnymi systemami, zwłaszcza w środowiskach internetowych. XML jest również standardem rekomendowanym przez organizację W3C i do dziś pozostaje jednym z najczęściej wykorzystywanych formatów danych – zarówno w integracjach systemów, jak i w takich zastosowaniach jak mapy witryn, feedy produktowe czy konfiguracje aplikacji.
Główne cechy XML:
- Strukturalność – dane są uporządkowane hierarchicznie przy pomocy znaczników (tagów), co pozwala jednoznacznie określić relacje między poszczególnymi elementami.
- Rozszerzalność – użytkownik sam definiuje strukturę dokumentu, tzn. nie ma z góry narzuconych znaczników jak np. w HTML; można tworzyć własne tagi w zależności od potrzeb.
- Niezależność – XML działa na wszystkich systemach operacyjnych i w różnych środowiskach programistycznych, co czyni go idealnym rozwiązaniem do wymiany danych między różnorodnymi systemami (np. między serwerem a klientem).
- Tekstowy format danych – dzięki temu dokumenty XML mogą być łatwo przetwarzane, przesyłane przez sieć, odczytywane i edytowane nawet w zwykłym edytorze tekstu.

