Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Теоретический материал. Практическое занятие №8. Работа с XML-документами средствами Java.






Практическое занятие №8. Работа с XML-документами средствами Java.

Цель занятия

Научиться работать с XML-документами средствами Java.

Теоретический материал

XML (eXtensible Markup Language — расширяемый язык разметки) — рекомендован W3C как язык разметки, представляющий свод общих синтаксических правил. XML предназначен для обмена структурированной информацией с внешними системами. Формат для хранения должен быть эффективным, оптимальным с точки зрения потребляемых ресурсов (памяти и др.). Такой формат должен позволять быстро извлекать полностью или частично хранящиеся в этом формате данные и быстро производить базовые операции над этими данными.

XML является упрощенным подмножеством языка SGML. На основе XML разрабатываются более специализированные стандарты обмена информацией (общие или в рамках организации, проекта), например XHTML, SOAP, RSS, MathML.

Основная идея XML — текстовое представление информации с помощью тегов, структурированных в виде дерева данных. Древовидная структура хорошо описывает бизнес-объекты, конфигурацию, структуры данных и т. п. Данные в таком формате легко могут быть как построены, так и разобраны на любой системе с использованием любой технологии — для этого нужно лишь уметь работать с текстовыми документами. С другой стороны, механизм namespace, различная интерпретация структуры XML документа (триплеты RDF, microformat) и существование смешанного содержания (mixed content) часто превращают XML в многослойную структуру, в которой отсутствует древовидная организация (разве что на уровне синтаксиса).

Почти все современные технологии стандартно поддерживают работу с XML. Кроме того, такое представление данных удобочитаемо (human - readable). Если нужен тег для представления названия книги, его можно создать:

< title> Java SE 8< /title>

< title book=" Java SE 8" />

< title-book> Java SE 8< /title-book>

Каждый документ начинается декларацией — строкой, указывающей как минимум версию стандарта XML. В качестве других атрибутов могут быть указаны кодировка символов и внешние связи.

<? xml version=" 1.0" encoding=" UTF-8" standalone=" yes"? >

После декларации в XML -документе могут располагаться ссылки на документы, определяющие структуру текущего документа и собственно XML -элементы (теги), которые могут иметь атрибуты и содержимое. Открывающий тег состоит из имени элемента, например < city >. Закрывающий тег состоит из того же имени, но перед именем добавляется символ «/», например < / city >. Содержимым элемента (content) называется все, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы. Все атрибуты тегов должны быть заключены либо в одинарные, либо в двойные кавычки:

< book date-of-issue=" 04/11/2011" title='Java Industrial'/>

В отличие от этого НТМL разрешает записывать значение атрибута без кавычек. Например:

< FORM method=POST action=index.jsp>

Далее представлены примеры неправильной орфографии и использования тегов:

<? xml version=" 1.0"? >

< book>

< title> JAXP< /title>

< /book>

< book value=" JavaFX" />

Каждый XML -документ должен содержать только один корневой элемент (root element или document element). В примере есть два корневых элемента, один из которых пустой. В отличие от файла XML файл HTML может иметь несколько корневых элементов и не обязательно < HTML >.

< book>

< caption> C++

< /book>

< /caption>

Тег должен закрываться в том же теге, в котором был открыт. В данном случае это caption. В HTML этого правила не существует. Любой открывающий тег должен иметь закрывающий.

< book>

< system-exit> Zukov

< /book>

Если тег не имеет содержимого, можно использовать конструкцию вида < system-exit/>. В HTML есть возможность не закрывать теги, и браузер определяет стили по открывающемуся тегу.

Наименования тегов чувствительны к регистру (case-sensitive), т. е., например, теги < author>, < Author>, < AUTHOR> будут совершенно разными. При работе с XML -тегом вида < system-exit> Zukov< /System-Exit> программа-анализатор просто не найдет завершающий тег и выдаст ошибку. Язык HTML нетребователен к регистру.

Пусть существует XML -документ students.xml с данными о студентах:

# 1 # описание студентов # students.xml

<? xml version=" 1.0" encoding=" UTF-8"? >

< students>

< student login=" MitarAlex7" faculty=" mmf" >

< name> Mitar Alex< /name>

< telephone> 2456474< /telephone>

< address>

< country> Belarus< /country>

< city> Minsk< /city>

< street> Kalinovsky 45< /street>

< /address>

< /student>

< student login=" Pashkin5" faculty=" mmf" >

< name> Pashkin Alex< /name>

< telephone> 3453789< /telephone>

< address>

< country> Belarus< /country>

< city> Brest< /city>

< street> Knorina 56< /street>

< /address>

< /student>

< /students>

Документ обладает древовидной структурой, следовательно, в базе данных по этому описанию требовалось бы создать две таблицы.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал