TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #2251 2.25K
🤔 Что такое xml?

XML (Extensible Markup Language) — это расширяемый язык разметки, который используется для хранения и передачи данных в формате, удобном для чтения как человеком, так и машиной.

🚩Зачем нужен XML?

XML используется для структурированного хранения информации. Он позволяет определять собственные теги и организовывать данные в удобном формате. Основные применения:
Обмен данными между системами (например, между сервером и клиентом).
Конфигурационные файлы (например, web.xml в Java).
Хранение данных (например, в файлах настроек, документах).
Веб-сервисы (SOAP использует XML для передачи сообщений).

🚩Как устроен XML?

XML-документ состоит из элементов (тегов), которые образуют древовидную структуру. Пример простого XML:
<?xml version="1.0" encoding="UTF-8"?>
<person>
<name>Иван</name>
<age>30</age>
<city>Москва</city>
</person>


🚩Как XML используется в Java?

В Java XML часто используется для работы с конфигурациями и веб-сервисами. Популярные библиотеки для работы с XML:
DOM (Document Object Model) — загружает весь XML-файл в память, создавая дерево элементов.
SAX (Simple API for XML) — обрабатывает XML последовательно, без загрузки в память.
JAXB (Java Architecture for XML Binding) — позволяет преобразовывать Java-объекты в XML и обратно.
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Marshaller;
import java.io.StringWriter;

@XmlRootElement
class Person {
private String name;
private int age;

public Person() {} // Пустой конструктор нужен для JAXB

public Person(String name, int age) {
this.name = name;
this.age = age;
}

@XmlElement
public String getName() { return name; }

@XmlElement
public int getAge() { return age; }
}

public class Main {
public static void main(String[] args) throws JAXBException {
Person person = new Person("Иван", 30);
JAXBContext context = JAXBContext.newInstance(Person.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

StringWriter writer = new StringWriter();
marshaller.marshal(person, writer);

System.out.println(writer.toString());
}
}


Вывод
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<name>Иван</name>
<age>30</age>
</person>


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 6
  • 💊 2
More from @easy_java_ru
  1. Oct 3, 2026🤔 В каких состояниях может находиться поток? Поток может находиться в следующих состояния…
  2. Oct 3, 2026Post #2938
  3. Oct 3, 2026🤔 Что такое Appender в log4j? Это компонент, который отвечает за отправку логов в различн…
  4. Oct 3, 2026Post #2936
  5. Oct 2, 2026🤔 Что такое временная сложность? Временная сложность — это оценка времени выполнения алго…
  6. Oct 2, 2026🤔 Что такое синхронизация и зачем она нужна? Синхронизация — это механизм, который исполь…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →