Java:
Работа с XML

Как это сделать:

Java предлагает API, такие как DOM (Document Object Model, модель объекта документа), SAX (Simple API for XML, простой API для XML) и StAX (Streaming API for XML, потоковый API для XML), для работы с XML. Вот пример использования DOM для разбора 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("Имя: " + element.getElementsByTagName("name").item(0).getTextContent());
                System.out.println("Возраст: " + element.getElementsByTagName("age").item(0).getTextContent());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Предположим, что data.xml выглядит так:

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

Вывод будет следующим:

Имя: Jane Doe
Возраст: 30
Имя: John Doe
Возраст: 40

Подробнее

XML существует с конца 90-х годов, обеспечивая структурированный и гибкий способ обмена данными между разными системами. Хотя JSON стал более популярным для новых веб-API из-за его более простого синтаксиса и тесной интеграции с JavaScript, XML широко используется в корпоративных средах, веб-сервисах на основе SOAP и стандартах документов, например, Office Open XML для Microsoft Office.

Когда речь идет о разборе XML в Java, API DOM отлично подходит для меньших документов: он основан на дереве и позволяет полностью доступиться к структуре XML в памяти. Однако для больших файлов это может быть ресурсоемко. SAX и StAX более дружелюбны к памяти, так как они основаны на событиях и потоках соответственно, но могут быть менее удобны для навигации по структурам XML.

Для создания или изменения XML Java также предоставляет пакеты javax.xml.transform и javax.xml.bind (JAXB). JAXB был частью Java SE до версии 10, после чего стал отдельной библиотекой из-за удаления модулей Java EE из Java SE. Это аннотационный способ сериализации объектов Java в XML и наоборот.

Смотрите также

Проверьте эти связанные источники для получения дополнительной информации о работе с XML в Java: