Загрузка...
Загрузка...
Как форматировать XML онлайн, что такое XML, как устроены RSS, Sitemap и SOAP. Ошибки XML и как их исправить.
Как форматировать SQL запросы, зачем нужен SQL Formatter, правила написания читаемого SQL и онлайн-инструменты.
РазработкаКак и зачем конвертировать регистр текста: camelCase, snake_case, kebab-case, PascalCase, UPPER CASE. Правила, примеры и онлайн-инструмент.
РазработкаКак конвертировать CSV в JSON и обратно. Форматы данных, разделители, обработка кавычек, практические примеры на JavaScript и Python.
РазработкаВсё о UUID v4: формат, версии, генерация в JavaScript, Python, SQL. Когда использовать UUID вместо автоинкремента в базах данных.
Поделитесь с коллегами или изучите другие материалы блога
XML (eXtensible Markup Language) — формат разметки для структурированных данных. XML используется в RSS-лентах, Sitemap, конфигурационных файлах, SOAP API и многих корпоративных системах. Форматирование делает XML читаемым, валидация проверяет корректность синтаксиса.
Для форматирования используйте XML Formatter на reChecker.
XML — это текстовый формат для представления данных в виде дерева элементов. В отличие от HTML, XML строго соблюдает иерархию и требует закрытия всех тегов.
Структура XML-документа:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<element attribute="value">
<child>Text content</child>
</element>
</root>
Компоненты:
<?xml version="1.0" encoding="UTF-8"?> (необязательна, но рекомендуется)ключ="значение" внутри открывающего тегаМинифицированный XML — одна строка без отступов:
<?xml version="1.0"?><rss version="2.0"><channel><title>My Blog</title><link>https://example.com</link><item><title>Post 1</title></item></channel></rss>
Тот же XML после форматирования:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>My Blog</title>
<link>https://example.com</link>
<item>
<title>Post 1</title>
</item>
</channel>
</rss>
Форматирование нужно для:
Форматы синдикации контента. Агрегаторы новостей, Telegram-боты и другие сервисы читают RSS для получения обновлений блогов и сайтов.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>reChecker Blog</title>
<link>https://rechecker.ru/blog</link>
<description>Статьи об SEO и веб-инструментах</description>
<item>
<title>SQL Formatter: форматирование запросов</title>
<link>https://rechecker.ru/blog/sql-formatter-guide</link>
<pubDate>Fri, 14 Mar 2026 10:00:00 +0300</pubDate>
</item>
</channel>
</rss>
Google и Яндекс используют sitemap.xml для обнаружения страниц сайта. Это XML-файл со списком URL и метаданными.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://rechecker.ru/</loc>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://rechecker.ru/services/sql-formatter</loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Для валидации и проверки Sitemap: Проверка sitemap.
XML используется в конфигурациях Maven (pom.xml), Android (AndroidManifest.xml), Spring, JUnit, Log4j и многих других Java/Enterprise системах.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<database>
<host>localhost</host>
<port>5432</port>
<name>myapp</name>
<pool>
<min>5</min>
<max>20</max>
</pool>
</database>
<cache>
<ttl>3600</ttl>
<enabled>true</enabled>
</cache>
</configuration>
SOAP (Simple Object Access Protocol) — протокол на основе XML для веб-сервисов. Старше REST, но широко используется в банковских и ERP системах.
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserRequest>
<UserId>42</UserId>
</GetUserRequest>
</soap:Body>
</soap:Envelope>
XML-документ должен иметь ровно один корневой элемент:
<!-- Неверно — два корневых элемента -->
<users>...</users>
<orders>...</orders>
<!-- Верно -->
<data>
<users>...</users>
<orders>...</orders>
</data>
В отличие от HTML, в XML нет «незакрытых» тегов:
<!-- Неверно -->
<br>
<img src="logo.png">
<!-- Верно -->
<br/>
<img src="logo.png"/>
Значения атрибутов должны быть в одинарных или двойных кавычках:
<!-- Неверно -->
<item id=42 active=true>
<!-- Верно -->
<item id="42" active="true">
Символы <, >, &, ", ' в тексте и атрибутах должны быть экранированы:
| Символ | Замена |
|---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
<!-- Неверно -->
<title>Книга: "Война & Мир" </title>
<!-- Верно -->
<title>Книга: "Война & Мир"</title>
XML чувствителен к регистру: <User> и <user> — разные теги.
<!-- Ошибка: открыт как User, закрыт как user -->
<User>Ivan</user>
<!-- Верно -->
<User>Ivan</User>
XML поддерживает пространства имён для избежания конфликтов имён при объединении документов:
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>...</url>
</root>
| Ошибка | Причина | Исправление |
|---|---|---|
XML or text declaration not at start | Пробелы или BOM перед <?xml | Удалите пробелы в начале файла |
Entity 'amp' not defined | Неэкранированный & | Замените & на & |
Mismatched tag | Тег открыт как <Item>, закрыт как </item> | Проверьте регистр |
Attribute without quotes | <tag id=5> | Добавьте кавычки: id="5" |
Multiple root elements | Несколько элементов верхнего уровня | Оберните в один корневой элемент |
| Параметр | XML | JSON |
|---|---|---|
| Читаемость | Подробнее, но структурировано | Компактнее |
| Атрибуты | Встроены в тег | Только через вложенные объекты |
| Комментарии | Поддерживаются | Не поддерживаются |
| Размер | Больше из-за тегов | Меньше |
| Типы данных | Всё как строки | Числа, булевы, null |
| Применение | RSS, Sitemap, SOAP, конфиги | REST API, веб |
XML Formatter на reChecker — форматирование, минификация и валидация. Всё в браузере, данные не отправляются на сервер.
Расширение XML (Red Hat) добавляет подсветку, валидацию и форматирование. Shift+Alt+F — форматировать файл.
# xmllint (Linux/macOS)
xmllint --format input.xml > output.xml
# xmllint с валидацией
xmllint --valid input.xml
# Python
python3 -c "import sys,xml.dom.minidom; print(xml.dom.minidom.parse(sys.argv[1]).toprettyxml())" input.xml
import { XMLParser, XMLBuilder } from 'fast-xml-parser';
const parser = new XMLParser({ ignoreAttributes: false });
const json = parser.parse(xmlString);
const builder = new XMLBuilder({ format: true });
const formatted = builder.build(json);
XML остаётся актуальным форматом для RSS, Sitemap, SOAP и конфигурационных файлов. Форматирование делает XML читаемым, а валидация помогает обнаруживать ошибки синтаксиса до применения файла. Используйте XML Formatter для быстрой работы с XML в браузере.