
- •30.Общее представление о потоках ввода/вывода
- •31.Байтовые и символьные потоки
- •32. Определение файла. Тестирование проверка объектов File
- •34. Сериализация
- •35. Обработка исключений в Java
- •36. Многопоточное программирование
- •37. Создание потока и его жизненный цикл
- •38. Управление приоритетами и ThreadGroup
- •39. Потоки-демоны
- •40. Методы synchronized
- •41. Коллекции
- •42. Списки
- •43. 43. Множества
- •44. Карты отображений
- •45. Обзор сокетов
- •49. Дейтаграммы
- •46. Сетевые классы и интерфейсы 47. Производственные методы 48. Сокеты tcp/ip клиентов и серверов
- •50. Основы оконной графики 51. Иерархия классов awt
- •Класс Applet
- •52. Свойства класса Component
- •53. Класс Container
- •54. Наследники класса Component
- •55. Классы Choice и List
- •56. Классы TextComponent, TextField, TextArea
- •57. Наследники Container
- •58. Swing-технология
- •59. Обработка событий в Java
- •60. Классы-адаптеры
- •61. Понятие и терминология jdbc 62. Связь и различия jdbc и odbc
- •63. Драйвера, соединения и запросы
- •64. DriverManager
- •65. Создание соединения с источником данных
- •66. Интерфейсы Statement, PreparedStatement и CallableStatement
- •69. Использование потоков в апплетах
- •70. Основы xml
- •71. Xml. Схема dtd. Элемент Schema схемы xml
- •72. Ссылки xml
- •74. Язык xLink (Атрибуты связующих элементов xLink, возможные значения атрибута xlink:show, возможные значения атрибута xlink:actuate)
- •75. Язык xPointer (Синтаксис xPointer, элементы абсолютного обнаружения xPointer, выражения отношений, фильтры атрибутов и их значений)
- •76. Объектная модель документа xml – dom
- •77. Simple api для xml (sax)
- •78. Язык преобразований xslt (Операционный xslt, процесс преобразования xsl, использование xslt, преобразования xml в html)
- •80. Сервлеты: структура, назначение и преимущества
- •81. Жизненный цикл сервлета
- •83. Пакеты javax.Servlet и javax.Servlet.Http
- •84. Технология rmi. Сравнение распределенных и нераспределенных приложений
- •85. Архитектура rmi
76. Объектная модель документа xml – dom
Объектная модель XML-документа, или DOM (Document Object Model) состоит из группы программных объектов, представляющих различные компоненты XML-документа. Свойства и методы этих объектов позволяют использовать сценарии для отображения XML-документа с HTML-страницы. DOM хранит данные в древообразной структуре, отражающей иерархическую структуру XML-документа, и предоставляет доступ к любым компонентам XML-документа, включая элементы, атрибуты, инструкции по обработке, комментарии и объявления нотаций и примитивов.
Чтобы получить доступ к XML-документу с использованием DOM, вы должны связать XML-документ с HTML-страницей. На HTML-странице это можно сделать через так называемый фрагмент данных:
<XML ID="dsoDoc" SRC="Sample.xml"></XML>
Идентификатор ID, который вы назначаете фрагменту данных, указывает на DSO (Data Source Object) документа. Свойство объекта DSO "XMLDocument" содержит корневой объект DOM, называемый также "узел документа". Вы можете использовать это свойство для доступа к DOM в сценариях:
xmlDOM_Document = dsoDoc.XMLDocument;
Полный перечень свойств, методов и событий объекта DSO документа вы можете получить в MSDN, воспользовавшись, например, поиском по словосочетанию "xml Object". Если вы хотите иметь доступ к нескольким XML-документам с HTML-страницы, вы можете поместить фрагмент данных для каждого из них. Кроме того, вы можете включить несколько фрагментов данных для одного XML-документа. Последний приём может оказаться полезным для поддержки нескольких различных версий данных XML, если ваша страница модифицирует эти данные (в этой статье приёмы модификации XML-данных не рассматриваются).
77. Simple api для xml (sax)
SAX (англ. «Simple API for XML») — способ последовательного чтения/записи XML-файлов.
Обычно SAX-парсеры требуют фиксированного количества памяти для своей работы, но не позволяют изменять содержимое документа. Всё, что делает SAX-парсер, это сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки или о встреченных ошибках. Связь парсера с вызывающим приложением, как правило, осуществляется посредством функций обратного вызова.
Применяются SAХ-парсеры либо для быстрого поиска по ХML-документам, либо во время построения DOM, либо для чтения XML-потоков большого объема (когда построение DOM требует слишком большого объема памяти).
SAX - событийный парсер XML. Он содержит очень похожую модель обработки событий на такую же модель в Java. К примеру, в аплете Вы можете зарегистрировать обработчика события на клик мышкой, а в SAX Вы можете зарегистрировать обработчик события на начало и конец тегов элементов, таких как <name/> и </name>. В этом документе рассматривается XML парсер производства IBM. Он бесплатен и имеет общедоступные исходные тексты. Возьмём простой пример XML файла:
<?xml version="1.0" encoding="windows-1251"?>
<order>
<item>
<name>Soccer Ball</name>
<price>15.00</price>
<quantity>5</quantity>
</item>
</order>
Параметр encoding="windows-1251" необходим для работы в кодировке Windows. Для разбора XML документа, используя SAX, мы осуществим несколько шагов. Эти шаги выделены в коде примера.
Регистрация парсера XML
Создание экземпляра XMLReader
Создание экземпляра класса отвечающего за обработку событий SAX-а
Подключение обработчика событий к экземпляру нашего XMLReader-а
Разбор документа посредством передачи XMLReader-у XML файла. (В этом примере используется файл "order.xml" содержащий XML код приведенный в начале статьи.)