Парсер XML

Все основные браузеры имеют встроенный анализатор XML, предназначенный для доступа и работы с XML.

Анализатор преобразует XML в объект XML DOM - объекты, которые можно обрабатывать с помощью JavaScript.

Парсер XML

XML DOM (Document Object Model)Определены атрибуты и методы для доступа и редактирования XML.

Однако, перед доступом к документу XML, его необходимо загрузить в объект XML DOM.

Все современные браузеры предоставляют встроенный анализатор XML, который может преобразовать текст в объект XML DOM.

пarsing текстовой строки

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

пример

<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>"
"<title>雅舍谈吃</title>" +
"<author>梁实秋</author>" +
"<year>2013</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>

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

объяснение примера

определите текстовую строку:

text = "<bookstore><book>"
"<title>雅舍谈吃</title>" +
"<author>梁实秋</author>" +
"<year>2013</year>" +
"</book></bookstore>"

Создайте анализатор XML DOM:

parser = new DOMParser();

Анализатор использует этот текстовый строку для создания нового объекта XML DOM:

xmlDoc = parser.parseFromString(text,"text/xml");

объект XMLHttpRequest

объект XMLHttpRequestпредоставляет встроенный анализатор XML.

responseText атрибут для возврата ответа в виде строки.

responseXML атрибут для возврата ответа в виде объекта XML DOM.

Если вы хотите использовать ответ в качестве объекта XML DOM, вы можете использовать responseXML атрибуты.

пример

запрос файла cd_catalog.xmlи использовать ответ в качестве объекта XML DOM:

xmlDoc = xmlhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
    txt += x[i].childNodes[0].nodeValue + "<br>";
{}
document.getElementById("demo").innerHTML = txt;

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