Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Теоретический материал. Практическое занятие №8. Работа с XML-документами средствами Java.Стр 1 из 12Следующая ⇒
Практическое занятие №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> Документ обладает древовидной структурой, следовательно, в базе данных по этому описанию требовалось бы создать две таблицы.
|