Java:
Praca z XML

Jak to zrobić:

Java udostępnia takie API jak DOM (Document Object Model), SAX (Simple API for XML) i StAX (Streaming API for XML) do pracy z XML. Oto przykład użycia DOM do parsowania pliku XML:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

public class XmlParser {
    public static void main(String[] args) {
        try {
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.parse("data.xml");
            
            doc.getDocumentElement().normalize();
            NodeList nodeList = doc.getElementsByTagName("employee");
            
            for (int i = 0; i < nodeList.getLength(); i++) {
                Element element = (Element) nodeList.item(i);
                System.out.println("Imię: " + element.getElementsByTagName("name").item(0).getTextContent());
                System.out.println("Wiek: " + element.getElementsByTagName("age").item(0).getTextContent());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Załóżmy, że data.xml wygląda tak:

<employees>
    <employee>
        <name>Jane Doe</name>
        <age>30</age>
    </employee>
    <employee>
        <name>John Doe</name>
        <age>40</age>
    </employee>
</employees>

Wyjście będzie wyglądać następująco:

Imię: Jane Doe
Wiek: 30
Imię: John Doe
Wiek: 40

Głębsze spojrzenie

XML istnieje od końca lat 90., zapewniając strukturalny i elastyczny sposób na wymianę danych pomiędzy różnymi systemami. Chociaż JSON stał się bardziej popularny dla nowych interfejsów API sieciowych ze względu na jego prostszą składnię i ścisłą integrację z JavaScript, XML nadal jest powszechnie używany w środowiskach korporacyjnych, opartych na SOAP usługach sieciowych i standardach dokumentów jak Office Open XML dla Microsoft Office.

Jeśli chodzi o parsowanie XML w Javie, API DOM jest świetne dla mniejszych dokumentów: jest oparte na drzewie i pozwala na pełny dostęp do struktury XML w pamięci. Jednakże, dla większych plików, może być intensywne pod względem zużycia pamięci. SAX i StAX są bardziej przyjazne dla pamięci, ponieważ są oparte na zdarzeniach i strumieniowe odpowiednio, ale mogą być mniej wygodne do nawigacji po strukturach XML.

Do tworzenia lub modyfikowania XML, Java również udostępnia pakiety javax.xml.transform i javax.xml.bind (JAXB). JAXB był częścią Java SE do wersji 10, potem stał się oddzielną biblioteką z powodu usunięcia modułów Java EE z Java SE. Jest to sposób oparty na adnotacjach do serializacji obiektów Java do XML i odwrotnie.

Zobacz również

Sprawdź te powiązane źródła, aby dowiedzieć się więcej o pracy z XML w Javie: