
- •По курсу «Интернет-программирование»
- •Принципы построения xml
- •Кратко об xml
- •Разметка xml документа
- •Правила описания элементов и атрибутов
- •Обработка xml
- •Библиотеки обработки xml
- •Разбор xml с помощьюPhp
- •Разбор xml с помощьюJavaScript
- •Разбор xml с помощью Java
- •Объект xmlHttpRequest
- •Кроссбраузерное создание объекта запроса
- •Использование xmlhttpRequest
- •Синхронный xmlHttpRequest
- •Асинхронный xmlHttpRequest
- •Не используйте синхронные запросы
- •Методы объекта xmlHttpRequest
- •Свойства объекта xmlHttpRequest
- •Get и post-запросы. Кодировка.
- •Запросы multipart/form-data
- •Кодировка (языковая)
ЛАБОРАТОРНАЯ РАБОТА №6
По курсу «Интернет-программирование»
Обработка XML и JSON
Цель работы.
Ознакомиться со способами обработки XML и JSON документов.
Приобретаемые компетенции:
Понимание принципов построения документов XML и JSON.
Обработка XML и JSON документов на разных языках программирования
Принципы построения xml
Кратко об xml
XML ( eXtensible Markup Language) — расширяемый язык разметки.
Идея — добавление специальных тегов для обеспечения автоматизированной обработки текстов
Применение — обмен данными между программами, платформами, устройствами
Первая публикация стандарта — 1998 г. ( консорциум W3C )
Последняя редакция — 2008 г. ( https://www.w3.org/TR/2008/REC-xml-20081126/ )
Формат — текстовый (т.е. человекочитаемый, хотя и «трудночеловекочитаемый»)
Расширение функциональности за счет:
DTD (Document Type Definition) — описание типов данных в xml-документе
XML Shema — описание структуры xml-документа
XSLT — шаблон для преобразования XML документа в другие, например HTML
Разметка xml документа
Формат пролога
<?xml version=”x.x” [encoding=”кодировка”] [standalone=(“yes” | “no”)] ?>
Пример:
<?xml version="1.0" encoding="UTF-8"?>
Формат объявления схем
<!DOCTYPE имя модификатор URI >
Пример:
<!DOCTYPE portfolio SYSTEM 'portfolio.dtd'> - каcтомный dtd
<!DOCTYPE portfolio PUBLIC 'world/portfolio.dtd'> - общеизвестный dtd
Элементы:
<тег аттрибут1='значение' … > … </тег>
Комментарии:
<!-- текст комментария -->
Инструкции обработки:
<?имя данные?>
имя — идентификатор обрабатывающего приложения
данне — данные, которые передаются приложению
Секция CDATA
<![CDATA[текст]]>
Определяет не обрабатываемый анализатором XML текст.
Например, двоичный код картинки
Правила описания элементов и атрибутов
Элементы:
Должен содержать хотя-бы один элемент
Если элементов несколько должен быть один корневой, включающий остальные
Запрещено перекрытие элементов (т.е. нарушение иерархии)
Начальный тег должен иметь одноименный конечный тег
Имена элементов и атрибутов:
Включают только: включать буквы, цифры, дефисы, символы подчеркивания и точки
Записаны в одном регистре
Начинаются с буквы или символа подчеркивания
Двоеточие может использоваться в имени только один раз для отделения пространства имен
Значения атрибутов заключаются в одинарные или двойные кавычки
Обработка xml
Обработка XML документов, как правило, подразумевает получение выборок данных по определенным правилам с помощью перемещения по DOM XML-документа. Это осуществляется с помощью соответствующих методов позволяющих выбрать линейный список элементов (узлов) по различным фильтрам (по имени элемента, атрибуту и т. д.) и перемещаться вверх и вниз по иерархии узлов (элементов), относительно выбранного узла.
Поэтому в целом обработка XML документа делится на 4 стадии:
Загрузка
Валидация по DTD или XML-схеме (если она есть и это требуется)
Выборка элементов по фильтру
Последующие выборки по элементам из списка первой выборки
Для примеров и задач в данной лабораторной работе используется заранее созданный XML документ portfolio.xml, размещенный в папке лабораторной работы вместе с описание типа в стиле DTD – portfolio.dtd и стиле XML-схемы – portfolio.xsd.