Основы XML




Использование сценариев для DSO


В завершении лекции познакомимся с примером более сложного сценария, который использует DSO для работы с соответствующим набором записей XML-документа. В примере использованы методы и свойства объекта DSO recordset для поиска книг в документе Inventory Big.xml (см. Листинг 8.3). Приемы, используемые для поиска и отображения данных XML, подходят только для XML-документа, организованного как простой набор записей. (Что такое простой набор записей – см. в разделе "Использование одной HTML-таблицы для отображения простого набора записей" ранее в этой лекции.)

Подсказка. С более сложными примерами сценариев вы познакомитесь в лекции 9. Сценарии в этой лекции используют совершенно иной программный объект (объектную модель XML-документа – Document Object Model), который даст вам возможность работать с любыми типами XML-документов, а не только с документами, структурированными как набор записей.

В Листинге 8.15 представлена HTML-страница, содержащая пример сценария.

<!-- Имя файла: Inventory Find.htm -->

<HTML>

<HEAD>

<TITLE>Book Finder</TITLE>

</HEAD>

<BODY>

<XML ID="dsoInventory" SRC="Inventory Big.xml"></XML>

<H2>Find a Book</H2>

Title text: <INPUT TYPE="TEXT" ID="SearchText">&nbsp <BUTTON ONCLICK='FindBooks()'>Search</BUTTON> <HR> Results:<P> <DIV ID=ResultDiv></DIV>

<SCRIPT LANGUAGE="JavaScript"> function FindBooks () { SearchString = SearchText.value.toUpperCase(); if (SearchString == "") { ResultDiv.innerHTML = "&ltYou must enter text into " + "'Title text' box.&gt"; return; }

dsoInventory.recordset.moveFirst();

ResultHTML = ""; while (!dsoInventory.recordset.EOF) { TitleString = dsoInventory.recordset("TITLE").value;

if (TitleString.toUpperCase().indexOf(SearchString) >=0) ResultHTML += "<I>" + dsoInventory.recordset("TITLE") + "</I>, " + "<B>" + dsoInventory.recordset("AUTHOR") + "</B>, " + dsoInventory.recordset("BINDING") + ", " + dsoInventory.recordset("PAGES") + " pages, " + dsoInventory.recordset("PRICE") + "<P>";




Содержание  Назад  Вперед