JavaScript. Введение в XML

Главная » Видеоуроки » JavaScript » JavaScript. Введение в XML
На прошлом уроке мы рассмотрел формат обмена данными JSON. В этому уроке мы рассмотрим еще один формат данных — XML (Extended Markup Language).
Язык XML имеет некоторые сходства с языком HTML. Оба этих языка — это языки разметки. Только HTML размечает структуру страницы, а XML размечает данные. XML, как и HTML также можно сделать привлекательным для отображения (при помощи XSLT).
XML также состоит из тегов, но в отличии от HTML в XML документе теги придумывает сам автор. В примере ниже описываем книги, каждую по отдельности. Соответственно, в документе есть тег books (ведь мы описываем коллекцию книг), а для описания каждой книги логично создать тег book.

В xml также можно добавлять атрибуты к тегам. В примере ниже это атрибут birthday.

Парсить xml строки можно при помощи встроенного в javascript объекта DOMParser. У этого объекта есть метод parseFromString.

Метод возвращет DOM объект. Брать данные из DOM объекта можно также как и в случае с HTML. В xml нет классов и id, поэтому имеет смысл использовать метод getElementByTagName

Пример XML файла

<?xml version="1.0" encoding="UTF-8"?>
<books>
    <book>
        <name>Евгений Онегин</name>
        <type>роман</type>
        <author birthday="06.06.1799">А.С.Пушкин</author>
    </book>

    <book>
        <name>Война и мир</name>
        <type>роман</type>
        <author birthday="06.06.1799">Л.Н.Толстой</author>
    </book>

    <book>
        <name>Я помню чудное мгновенье</name>
        <type>стихи</type>
        <author birthday="06.06.1799">А.С.Пушкин</author>
    </book>
</books>

Код урока

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>


    <script>

    var xmlStr = '<?xml version="1.0" encoding="UTF-8"?><books><book><name>Евгений Онегин</name><type>роман</type><author birthday="06.06.1799">А.С.Пушкин</author></book></books>';

    var parser = new DOMParser();
    xmlDoc = parser.parseFromString(xmlStr, "text/xml");
    console.log(xmlDoc.getElementsByTagName("name"));


    </script>

    </body>
</html>

0 Комментариев

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.

Pin It on Pinterest

Share This