Выбрать главу

Imports System.Xml

Imports System.Xml.XPath

Imports System.IO

Public Class Form1

 Inherits System.Windows.Forms.Form

 …

 ' Здесь опущен код, сгенерированный Windows Form Designer.

 …

 Private Sub Form1_Load(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles MyBase.Load

 End Sub

Private Sub ShowTop10()

  Dim xDoc As New XmlDocument()

  xDoc.Load("simple2.xml")

  ' Обратите внимание, что для получения значения атрибута

  ' используется синтаксис XPATH.

  Dim xNodeList As XmlNodeList = _

   xDoc.SelectNodes("descendant::tblCustomer/@FirstName")

  Dim xNode As XmlNode

  Dim i As Integer = 0

  For Each xNode In xNodeList

   lstResults.Items.Insert(i, xNode.InnerText)

   i = i + 1

  Next

 End Sub

 Public Sub ChangeNameandSave(ByVal NameToChange As String, ByVal ChangeTo _

  As String)

  Dim xDoc As New XmlDocument()

  xDoc.Load("simple2.xml")

  Dim xNodeList As XmlNodeList = _

   xDoc.SelectNodes("descendant::tblCustomer/@FirstName")

  Dim xNode As XmlNode

  For Each xNode In xNodeList

   If xNode.InnerText = NameToChange Then

    xNode.Value = ChangeTo

   End If

  Next

  xDoc.Save("simple2.xml")

  MsgBox("Name change saved!", 0)

  lstResults.Items.Clear()

  ShowTop10()

 End Sub

 Private Sub btnShowTop10_Click(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles btnShowTop10.Click

  ShowTop10()

 End Sub

 Private Sub lstResults_DoubleClick(ByVal sender As Object, _

  ByVal e As System.EventArgs) Handles lstResults.Doubleclick

  Dim oldName As String = _

   lstResults.GetItemText(lstResults.Items.Item(lstResults.SelectedIndex))

  Dim newName As String = _

   InputBox("Please enter a new name", "ChangeAndSave")

  ChangeNameandSave(oldName, newName)

 End Sub

End Class

НА ЗАМЕТКУ

уже сообщалось ранее, коды всех примеров можно найти на Web-странице Издательского дома "Вильяме" адресу: http://www.williamspublishing.com.

Утилита SQLXML

Утилита SQLXML версии 3.0 представляет собой еще один способ сбора и генерации XML-документов. Она не может заменить средства ADO.NET, а является лишь расширением функций SQL Server с помощью интерфейса броузера для создания отчетов, отслеживания выполняемых действий и т.п.

Для использования утилиты SQLXML необходимо инсталлировать Web-сервер Internet Information Server (IIS) и СУБД SQL Server 2000, в состав которой и входит эта утилита. В данном примере используется компьютер с операционной системой Windows XP Professional, IIS 5.1 и утилита SQLXML версии 3.0.

Утилита SQLXML расширяет функции СУБД SQL Server 2000 возможностями создания запросов к базе данных на основе HTTP-запросов. Хотя она обладает многими преимуществами, некоторые опасения у разработчиков вызывают вопросы обеспечения безопасности. Большинство этих опасений можно устранить за счет использования системы аутентификации Windows для виртуальных каталогов, в которых выполняются запросы, и для базы данных.

НА ЗАМЕТКУ

Утилиту SQLXML версии 3.0 можно бесплатно скопировать с Web-узла компании Microsoft ПО адресу: http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/824/msdncompositedoc.xml.

Инсталляция и конфигурирование утилиты SQLXML

После копирования файла с утилитой SQLXML с Web-узла компании Microsoft щелкните дважды кнопкой мыши на нем. На экране появится программа-инсталлятор с несколькими стандартными вопросами, например: согласны ли вы с предлагаемой лицензией и хотите ли вы выполнить обычную или специализированную инсталляцию? Единственное отличие между типами инсталляции заключается в том, что в специализированной инсталляции можно указать другой каталог размещения файлов утилиты.

Для конфигурирования утилиты SQLXML выполните следующее. Выберите команду Start→Microsoft SQL Server→Configure SQL XML Support in IIS (Пycк→Microsoft SQL Server→Конфигурировать поддержку SQL XML в IIS), на экране появится диалоговое окно IIS Virtual Directory Management for SQL Server (Виртуальный каталог управления IIS для SQL Server) программы Microsoft Management Console (рис. 9.3). 

РИС. 9.З. Диалоговое окно IIS Virtual Directory Management for SQL Server программы Microsoft Management Console

Обратите внимание на то, что панель в правой части окна содержит только один столбец Computer. Щелкните дважды левой кнопкой мыши на имени компьютера в этом столбце для раскрытия списка всех Web-узлов данного компьютера, как показано на рис. 9.4. Обратите внимание: имя текущего столбца в правой части окна изменилось и он стал называться Web Site Name (Имя Web-узла).

РИС. 9.4. Список Web-узлов

Щелкните дважды на надписи Default Web Site (Используемый по умолчанию Web-узел), которая показана на рис. 9.5, для отображения списка конфигурированных виртуальных каталогов в правой части окна.

РИС. 9.5. Используемый по умолчанию Web-узел

Далее создайте новый каталог c:\inetpub\wwwroot\novelty. Для этого выберите команду Start→Run, введите команду cmd, щелкните на кнопке OK, введите в режиме командной строки команду mkdir с:\inetpub\wwwroot\novelty и нажмите клавишу <Enter>. Аналогично внутри этого каталога создайте подкаталог Templates.