Парсер XML
- Предыдущая страница XML HttpRequest
- Следующая страница DOM 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;
- Предыдущая страница XML HttpRequest
- Следующая страница DOM XML