Парсер XML
Мгновенное форматирование, проверка и запросы к XML-документам. Работает на основе встроенных API браузера для максимальной скорости и конфиденциальности.
XML содержит ошибки
Результаты
Дерево узлов
Как использовать парсер XML
Вставьте XML
Скопируйте и вставьте содержимое XML в поле ввода или нажмите «Загрузить пример XML».
Форматирование и проверка
Используйте «Форматировать» для красивого вывода, «Сжать» для сжатия или «Проверить» для поиска ошибок.
Запросы через XPath
Введите выражение XPath и нажмите «Выполнить XPath» для извлечения определённых узлов.
Что такое XML?
XML (eXtensible Markup Language) — это язык разметки, определяющий набор правил для кодирования документов в формате, удобном как для чтения человеком, так и для машинной обработки. Широко используется для конфигурационных файлов, обмена данными (SOAP, RSS, Atom) и хранения документов.
Ключевые особенности XML
Самоописываемость
XML использует пользовательские теги для описания структуры данных, что позволяет легко понять содержимое и иерархию с первого взгляда.
Независимость от платформы
Как обычный текст, XML работает на всех платформах, языках программирования и системах без проблем совместимости.
Расширяемость
Вы можете определять собственные теги и структуру документа с помощью DTD или XML Schema для любой модели данных.
Часто задаваемые вопросы
Корректный XML следует базовым синтаксическим правилам XML (правильная вложенность, закрывающие теги, единственный корневой элемент). Валидный XML — это корректный XML, который также соответствует схеме (DTD, XSD), определяющей допустимую структуру и типы данных.
Нет, этот инструмент проверяет только корректность (синтаксическую правильность). Проверка по схеме DTD или XSD не поддерживается в браузере нативно.
Встроенный метод браузера document.evaluate() поддерживает XPath 1.0. Это покрывает большинство распространённых запросов, включая оси, предикаты и функции, такие как contains(), text() и @attribute.
Пространство имён сопоставляет имена элементов с URI через атрибуты xmlns — например, элемент atom:feed, объявляющий xmlns:atom="http://www.w3.org/2005/Atom". Префикс произвольный; пространство имён идентифицируется только URI, поэтому два документа могут использовать разные префиксы для одного и того же словаря. Именно из-за пространств имён сопоставление в XPath часто требует трюков с local-name(), когда префиксы различаются.
Выражения XPath 1.0 обходят дерево: /rss/channel/item выбирает по пути, //item находит элементы item в любом месте документа, item[@type='news'] фильтрует по атрибуту, а предикаты вроде item[1] или item[last()] выбирают конкретные узлы. Это язык запросов, лежащий в основе XSLT, множества тестовых фреймворков и вычислителя выражений этого инструмента.
Инъекция XXE (XML External Entity) эксплуатирует сущность DTD, указывающую на путь к файлу или URL, заставляя серверный парсер её загрузить — исторически это приводило к утечке /etc/passwd или данных внутренних сервисов. XML-парсеры браузеров не разрешают внешние сущности, а этот инструмент работает полностью в вашем браузере без обращений к серверу, поэтому вставленный XML не может вызвать чтение файлов или SSRF.
DOM загружает весь документ в дерево, по которому можно свободно перемещаться — интуитивно понятно, но требует много памяти для огромных файлов. SAX передаёт события (открывающий тег, текст, закрывающий тег) за один проход с постоянным расходом памяти — быстро, но только в прямом направлении. В браузерном JavaScript доступен DOMParser (в стиле DOM); потоковая обработка XML в JavaScript требует библиотеки или Web Streams.
Экранируйте их как < и & в обычном тексте — сырые < и & недопустимы в символьных данных. Для блоков текста, насыщенного разметкой, оберните его в секцию CDATA, которая не требует экранирования до последовательности ]]> в её конце. В содержимом строго обязательно экранировать только < и &; > нужно экранировать лишь тогда, когда он образует эту закрывающую последовательность.
Похожие инструменты
Набор парсеров JSON
Валидация, форматирование, минификация и запросы JSON с помощью JSONPath прямо в браузере с мгновенной обратной связью об ошибках
Парсер CSV
Парсинг CSV-данных в визуальную таблицу с настраиваемым разделителем и статистикой столбцов
Парсер YAML
Парсинг и конвертация YAML в JSON и обратно с валидацией
Авторитетные источники
Первоисточники, лежащие в основе этого инструмента, — официальные стандарты и спецификации, а не пересказы из вторых рук.
W3C - Extensible Markup Language (XML) 1.0
Рекомендация W3C, определяющая Extensible Markup Language 1.0 — основу формата.
XML - Wikipedia
Древовидная модель XML, пространства имён и почему формат требует валидности и корректного формирования (well-formedness).
MDN Web Docs - XML
Руководство Mozilla по обработке XML в браузере, включая использование DOMParser.