DOM XML

Что такое DOM?

Document Object Model (DOM) определяет стандарты доступа и операций с документом:

“W3C Document Object Model (DOM) — это интерфейс, независимый от платформы и языка, который позволяет программам и скриптам динамически доступ и обновлять содержимое, структуру и стиль документа.”

HTML DOM Определяет стандартные методы доступа и операции HTML-документов. Оно представляет HTML-документ в виде структуры дерева.

DOM XML Определяет стандартные методы доступа и операции XML-документов. Оно представляет XML-документ в виде структуры дерева.

Для любого разработчика, использующего HTML или XML, понимание DOM является необходимым.

HTML DOM

Все элементы HTML можно доступно через HTML DOM.

Ниже приведен пример изменения значения атрибута id="demo" HTML-элемента:

Пример

<h1 id="demo">Это заголовок</h1>
<button type="button" onclick="document.getElementById('demo').innerHTML = 'Hello World!'">
Нажмите на меня!
</button>

Попробуйте сами

Вы можете узнать больше о JavaScript в нашем курсе. HTML DOM Подробнее.

DOM XML

Все элементы XML можно получить через XML DOM.

Books.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="еда">
    <title lang="zh">Яшма и еда</title>
    <author>Лiang Shiqiu</author>
    <year>2013</year>
    <price>35</price>
  </book>
  <book category="дети">
    <title lang="zh">Удачный папа лис</title>
    <author>Рольф Дал</author>
    <year>2009</year>
    <price>10.00</price>
  </book>
</bookstore>

Этот код检索 XML-документ, текстовое значение первого элемента <title>:

Пример

txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

XML DOM - это стандарт, который описывает, как получить, изменить, добавить и удалить элементы XML.

Этот пример загружает текстовую строку в объект DOM XML и использует JavaScript для извлечения информации из нее:

Пример

<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>"
"<title>雅舍谈吃</title>" +
"<author>梁实秋</author>" +
"<year>2009</year>" +
"</book></bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>
</body>
</html>

Попробуйте сами

Вы узнаете о том, что такое DOM XML больше информации.