Функция $.parseXML()
Определение и применение
Функция $.parseXML() разбирает XML-строку и возвращает отдельный XML-документ. Например, из полученного
каталога можно извлечь название товара, не добавляя весь XML в HTML-страницу.
Синтаксис
const xml = $.parseXML(xmlText);
const title = $(xml).find("title").text();Параметры и возвращаемое значение
xmlText — строка корректного XML. Результат для корректной непустой строки — XMLDocument.
Некорректная структура, например незакрытый элемент, вызывает исключение; предусмотрите try/catch для
внешних данных.
XML чувствителен к регистру имён и требует корректной вложенности и закрытия элементов. Это не HTML-парсер: браузер не
исправляет входную строку по правилам HTML. Пустой или нестроковый ввод в реализации jQuery может дать
null; валидируйте вход до работы с документом.
Особенности и совместимость
API доступен с 1.5 и поддерживается в 4.0. Для сложного XML с пространствами имён используйте подходящие DOM-методы,
например getElementsByTagNameNS(), а не полагайтесь на обычный CSS-селектор.
Разбор не проверяет предметную схему: наличие нужных тегов и допустимость значений проверяются отдельно. Для вывода
извлечённого значения в HTML используйте
.text(), чтобы оно оставалось текстом.
Документация
Пример использования
Извлечение данных и ошибка XML: попробуйте сами
Из корректного XML извлекается название. Второй фрагмент с нарушенной вложенностью вызывает обрабатываемую ошибку. Используется jQuery 4.0.0.
index.html
<pre id="result"></pre>
main.js
const xml = $.parseXML('<catalog><title>Книга</title></catalog>')
let invalid = false
try {
$.parseXML('<catalog><title></catalog>')
} catch (error) {
invalid = true
}
$('#result').text($(xml).find('title').text() + ' | ошибка XML: ' + invalid)
Нажмите , чтобы запустить пример.