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.