Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpXmInr 220 of 322 menu
◀ ▶

Введение в XML в Java

XML - текстовый формат для структурированных данных. Его часто передают между сервисами или сохраняют в файле. Разметка похожа на HTML, но имена тегов и атрибутов задает автор схемы.

Документ начинается с объявления версии и содержит один корневой тег, внутри которого лежит всё содержимое. Каждый тег может иметь атрибуты в угловых скобках и текст между открывающим и закрывающим именем:

<?xml version="1.0"?> <root> <city code="spb">Saint Petersburg</city> </root>

Здесь корень - root, внутри тег city с атрибутом code и текстом названия. В Java 27 такой текст разбирают через DOM API из JDK: фабрика DocumentBuilderFactory создаёт DocumentBuilder, а строка передаётся через InputSource и StringReader.

Короткий разбор той же строки в программе выглядит так:

import org.w3c.dom.Element; import org.xml.sax.InputSource; import javax.xml.parsers.DocumentBuilderFactory; import java.io.StringReader; public class Main { public static void main(String[] args) throws Exception { String xml = """ <?xml version="1.0"?> <root> <city code="spb">Saint Petersburg</city> </root> """; var builder = DocumentBuilderFactory .newInstance() .newDocumentBuilder(); var doc = builder.parse( new InputSource(new StringReader(xml)) ); Element root = doc.getDocumentElement(); System.out.println(root.getTagName()); Element city = (Element) doc .getElementsByTagName("city") .item(0); System.out.println( city.getAttribute("code") ); System.out.println(city.getTextContent()); } }

Метод getDocumentElement указывает на корень, getElementsByTagName находит узлы по имени, getTextContent возвращает текст внутри тега. Дальнейшие уроки опираются на эту цепочку без отдельных библиотек.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить