Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. Интерфейсы веб API
  3. DOMParser

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

DOMParser

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..

DOMParser может парсить XML или HTML источник содержащийся в строке в DOMDocument. СпецификацияDOMParser находится вDOM Parsing and Serialization.

Заметьте, чтоXMLHttpRequest поддерживает парсинг XML и HTML из интернет ресурсов (по ссылке)

Создание DOMParser

Для того чтобы создатьDOMParser просто используйтеnew DOMParser().

Для большей информации о созданииDOMParser в расширениях Firefox, пожалуйста прочитайте документацию :nsIDOMParser.

Парсинг XML

Как только вы создали объект парсера, вы можете парсить XML из строки, используя методparseFromString:

js
var parser = new DOMParser();var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");

Обработка ошибок

Заметьте, если процесс парсинга не удастся ,DOMParser теперь не выдаёт исключение, но вместо этого выдаёт документ ошибки (seeFirefox bug 45566):

xml
<parsererror xmlns="http://www.mozilla.org/newlayout/xml/parsererror.xml">(Описание ошибки)<sourcetext>(отрывок XML документа)</sourcetext></parsererror>

Ошибки синтаксического анализа также сообщаются вконсоль ошибок, с идентификатором URI документа (см. Ниже) в качестве источника ошибки.

Разбор SVG или HTML

DOMParser так же может быть использован для разбора SVG документа Gecko 10.0 или HTML документа Gecko 12.0. На выходе возможны 3 варианта, в зависимости от переданного MIME типа. Если MIME тип передан какtext/xml, результирующий объект будет типаXMLDocument, еслиimage/svg+xml, соответственноSVGDocument, а для MIME типаtext/html -HTMLDocument.

js
var parser = new DOMParser();var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");// возвращает Document, но не SVGDocument или HTMLDocumentparser = new DOMParser();doc = parser.parseFromString(stringContainingXMLSource, "image/svg+xml");// возвращает SVGDocument, который так же является экземпляром класса Document.parser = new DOMParser();doc = parser.parseFromString(stringContainingHTMLSource, "text/html");// возвращает  HTMLDocument, который так же является экземпляром класса Document.

DOMParser HTML для устаревших браузеров

js
/* * DOMParser HTML extension * 2012-09-04 * * By Eli Grey, http://eligrey.com * Public domain. * КОД РАСПРОСТРАНЯЕТСЯ БЕЗ КАКИХ ЛИБО ГАРАНТИЙ. ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК. *//*! @source https://gist.github.com/1129031 *//*global document, DOMParser*/(function (DOMParser) {  "use strict";  var proto = DOMParser.prototype,    nativeParse = proto.parseFromString;  // Firefox/Opera/IE throw errors on unsupported types  try {    // WebKit returns null on unsupported types    if (new DOMParser().parseFromString("", "text/html")) {      // text/html parsing is natively supported      return;    }  } catch (ex) {}  proto.parseFromString = function (markup, type) {    if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {      var doc = document.implementation.createHTMLDocument("");      if (markup.toLowerCase().indexOf("<!doctype") > -1) {        doc.documentElement.innerHTML = markup;      } else {        doc.body.innerHTML = markup;      }      return doc;    } else {      return nativeParse.apply(this, arguments);    }  };})(DOMParser);

DOMParser from Chrome/JSM/XPCOM/Privileged Scope

Смотрите статью по ссылке:nsIDOMParser

Спецификации

Specification
HTML
# dom-parsing-and-serialization

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp