Обработка запросов XPath в консольном приложении

Язык XML как формат обмена информацией между приложениями в Internet. Функции XML Path Language при выборе элементов документов XML. Реализация консольного приложения для работы с ними. Выполнение запросов XPath на языке программирования Visual Basic.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 28.11.2020
Размер файла 10,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Обработка запросов XPath в консольном приложении

Петров И.С., студент

Стерлитамакский филиал БашГУ г. Стерлитамак, Россия

Солощенко М.В., студент

Стерлитамакский филиал БашГУ г. Стерлитамак, Россия

Научный руководитель: Нафикова А.Р.

Аннотация

В данной статье рассмотрена реализация консольного приложения для работы с xml документами, а именно обработка и выполнение запросов XPath на языке программирования Visual Basic

Ключевые слова: Консольное приложение, запросы XPath, Visual Basic.

Abstract

Petrov I.S., Student

Sterlitamak branch of BashGU Sterlitamak, Russia Soloshenko M. V., Student

Sterlitamak branch of BashGU Sterlitamak, Russia Scientific director: Nafikova A.R.

PROCESSING XPATH REQUESTS IN CONSOLE APPLICATION

This article deals with the implementation of a console application for working with xml documents, namely the processing and execution of XPath requests in the Visual Basic programming language.

Key words: Console application, XPath requests, Visual Basic.

Введение

информация приложение xpath программирование

Язык XML все чаще применяется в качестве формата для обмена информацией между разными приложениями в Internet. Популярность XML во многом объясняется его гибкостью при представлении разных видов информации. Применение тегов делает XML-данные самоописываемыми, а расширяемая природа XML позволяет определять новые виды специализированных документов. По мере роста значимости XML создается целая серия стандартов, многие из которых были подготовлены консорциумом W3C. Так, XML Path Language (XPath) обеспечивает нотацию для выбора элементов в документе XML.

Разберем структуру XPath на примере консольного приложения

Разбор кода программы

Imports System.Xml.XPath - подключение библиотеки XPath

Процедура XPathProcess Код

Sub XPathProcess(ByVal navig As XPathNavigator,

ByVal title As String,

ByVal exprs As String)

If (IsNumeric(navig.Evaluate(exprs)) = False) Then Console .WriteLine(title)

Dim nodeIter As XPathNodeIterator = navig.Select(exprs)

Dim navCurNode As XPathNavigator = nodeIter.Current While (nodeIter.MoveNext())

Console.WriteLine("- {0}", navCurNode.Value)

End While

Else : Console.WriteLine(title + " {0}", navig.Evaluate(exprs))

End If End Sub

Описание

Эта процедура является ядром программы, именно она будет осуществлять поиск и вывод необходимых узлов.

XpathNavigator представляет модель курсора для навигации по данным XML и их редактирования. XpathNodeIterator является итератором по выбранному набору узлов.

Компилятор Visual Basic иотользует оператор Dim для определения типа данных переменной и другой информации.

XPathProcess, использует аргумент navig, типа XpathNavigator, аргументы title и exprs, типа String. В title будем хранить описание нашего запроса, а в exprs сам запрос XPath.

Если значение Navig.Evalue(exprs) - не числовое, то выводим title. И определяем nodeIter как XpathNodeIterator, присваивая ему значение нашего запроса и NavCurNode как XpathNavigator, присваивая ему текущий nodeIter. Так испульзуя метод Select класса XPathNavigator, выбирается набор узлов. В библиотеке Xpath для Visual Basic существует два способа выполнения итерации по XPathNavigator с помощью класса XPathNodeIterator. В нашем случае используя метод MoveNext происходит перемещение по всем узлам в нашем наборе и с помощью метода Current проверяется возвращаемый XPathNavigator,ом объект navCurNode. Так мы находим и выводим каждый

узел, подходящий под наше условие. Иначе сразу выводим title и пустой navig .Evalue(exprs).

Процедура Main Код

Sub Main()

'объект для чтения

Dim xpDoc As XPathDocument = New

ХРа^ВоситеШ(”С:\^е^Ап1ке\ОпеВпуе\Рабочий стол\учеба\КИС\лаба 4\15variant.xml")

'объект для обработки

Dim xpNav As XPathNavigator = xpDoc.CreateNavigator()

Dim Ш1е = ""

Dim exprs = ""

Console.Title = ”Выполнение запросов с XML-документу на языке Xpath” 'запрос №1 -

title = ”1. Вывод количества описанных магазинов: ” exprs = "count(variant/shop)"

XPathProcess(xpNav, Ш1е, exprs)

Console.ReadLine()

'запрос №2 -

title = ”2. Вывод названия магазинов: ” exprs = "//shop/shopName"

XPathProcess(xpNav, Ш1е, exprs)

Console.ReadLine()

'запрос №3 -

title = ”3. Вывод количества товаров одежды в магазине GJ” exprs = "count(//shop[./shopName[text()[contains(., 'GJ')]]]//Cloth) " XPathProcess(xpNav, Ш1е, exprs)

Console.ReadLine()

'запрос №4 -

title = ”4. Вывод количества товаров, на которые есть скидка и доставка: ”

exprs = "count(//Cloth[count(./Shipping[text()[contains(.,'Yes')]]) >= 1 and count(Discount) >= 1 ]) "

XPathProcess(xpNav, Ш1е, exprs)

Console.ReadLine()

'запрос №5 -

title = ”5. Вывод информации о товаре, если это не одежда: ” exprs = "//Goods/node()[not(self::Cloth)]"

XPathProcess(xpNav, title, exprs)

Console.ReadLine()

'запрос №6 -

title = ”6. Вывод информации о марке товара Кроссовки: ” exprs = ”//Sneakers[./Name[text()[contains(., 'Кроссовки')]]]/Marka” XPathProcess(xpNav, title, exprs)

Console.ReadLine()

'запрос №7 -

title = ”7. Вывод информации о доставке товара с размером 38 или 44: ” exprs = ”//Cloth[J/Size[text()[contams(.,'38')]] or .//Size[text()[contams(.,'44')]]]/Shipping”

XPathProcess(xpNav, title, exprs)

Console.ReadLine()

Описание

Для начала укажем путь к нашему xml документу через переменную xpDoc, класса XPathDocument и создадим для него объект обработки xpNav. Запишем название к консольному приложению «Выполнение запросов с XML-документу на языке Xpath». Далее расположим запросы, которые нам необходимо обработать, все запросы, будут строиться по следующему шаблону:

title = "Описание запроса " exprs = "Запрос Xpath"

XPathProcess(xpNav, title, exprs) // вызов процедуры XpathProcess,описанной ранее.

Функция Count(Node-set) - возвращает число узлов в наборе узлов.

Функция Sum(Node-set) - возвращает сумму значений всех узлов в наборе узлов.

Запрос № 1

Считаем количество всех узлов Shop.

Запрос № 2

Находим узел Shop любого уровня вложенности, и выводим узел shopName, который является его ребенком.

Запрос № 3

Считаем количество узлов Cloth любого уровня вложенности, предком которого является узел shop любого уровня вложенности, имеющий ребенка shopName, текс которого содержит «GJ».

Запрос № 4

Считаем количество узлов Cloth любого уровня вложенности, имеющий ребенком как минимум один узел shipping, содержащий текст “Yes” и discount

Запрос № 5

выводим все узлы Goods, любого уровня вложенности, если у него нет ребенка Cloth.

Запрос № 6

Выводим все узлы Marka, родительским элементом которого является узел Sneakers, ребенком которого является узел name содержащий текст “Кроссовки”

Запрос № 7

Выводим все узлы Shipping, родительским элементом которого является узел Cloth любого уровня вложенности, ребенком которого является узел Size содержащий текст “38” или “44”

Заключение

В результате работы была рассмотрена реализация простейшего консольного приложения, на языке программирования Visual Basic, способного выполнять запросы XPath, а также примеры таких запросов.

Список литературы

1. Microsoft Docs - хранилище документации Майкрософт [Электронный ресурс]. URL: https://docs.microsoft.com (дата обращения: 16.12.2018)

2. XPath and XQuery [Электронный ресурс]. URL: https://www2.cs.duke.edu/courses/fall14/compsci316/lectures/13-xml-notes.pdf

(дата обращения: 16.12.2018)

3. Microsoft Developer Network - XPath Examples [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx (дата обращения: 16.12.2018)

4. Tutorial - XPath, XQuery [Электронный ресурс]. URL: http://www.cs.toronto.edu/~leijiang/teaching/cscc43-s09/content/tutorial/xpath- xquery/xquery.pdf (дата обращения: 16.12.2018)

Размещено на Allbest.ru

...

Подобные документы

  • Основы работы с языком программирования Visual Basic 6.0, разработка и обработка созданных баз данных. Создание экранной формы и запросов по таблице VIP. Алгоритм совместного запроса по таблицам VIP и PROD. Методика разработки пользовательского меню.

    курсовая работа [2,7 M], добавлен 04.06.2009

  • Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.

    контрольная работа [36,4 K], добавлен 23.07.2014

  • Создание визуального построителя запросов на извлечение данных с помощью оператора SELECT и его разделов. Постановка задачи; язык запросов SQL, общие сведения; агрегатные функции и результаты запросов. Программная реализация и алгоритм работы приложения.

    курсовая работа [152,8 K], добавлен 12.08.2011

  • Сравнительная характеристика средств обучения программированию в среде Visual Basic. Задачи проектируемых автоматизированных программных систем. Комплекс технических средств. Математическое и программное обеспечение. Язык программирования Visual Basic.

    дипломная работа [64,1 K], добавлен 17.05.2007

  • Конфигурация локальных сетей, организация обмена информацией. Информационная система WWW, HTML и его расширения, программы для Интернет. JavaScript и Visual Basic Script. Приложения Macromedia Flash, серверные технологии. Python как язык программирования.

    курсовая работа [45,2 K], добавлен 22.09.2013

  • Сумма двух разреженных полиномов, заданных ненулевыми коэффициентами и их номерами. Разработка программ на языке программирования Visual Basic for Applications. Вывод справочной информации. Операционная система Windows. Хранение двоичных данных.

    научная работа [390,2 K], добавлен 09.03.2009

  • Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.

    реферат [20,7 K], добавлен 11.03.2010

  • Формирование матрицы и выполнение заданий: вычисление сумы четных элементов; максимума из нечетных элементов в строке; произведение элементов в нечетных столбцах; количество четных элементов выше главной диагонали. Создание программы в Visual Basic.

    контрольная работа [12,0 K], добавлен 07.10.2012

  • Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.

    контрольная работа [220,4 K], добавлен 18.06.2010

  • Исследование теоретических аспектов разработки программы посредством использования Visual Basic. Анализ достоинств и недостатков данного языка программирования. Изучение особенностей создания интерфейса приложения. Основные этапы реализации программы.

    практическая работа [460,6 K], добавлен 22.01.2013

  • Создание программного продукта на языке Pascal в визуальной среде программирования Borland Developer Studio в консольном приложении. Разработка типизированного файла для записи данных и их вывод на экран, добавление данных в конец файла, поиск информации.

    курсовая работа [1,0 M], добавлен 04.12.2011

  • Классификация систем программирования. Специализированные редакторы, программы-компиляторы и исполнимый код. Разновидности Visual Basic. Версии Паскаля и его использование. Приложения на языке Java. Разработка программы для вычисления предельной ошибки.

    курсовая работа [34,0 K], добавлен 28.12.2009

  • Работа с хранящейся в базах данных информацией. Язык описания данных и язык манипулирования данными. Распространение стандартизованных языков. Структурированный язык запросов SQL. Язык запросов по образцу QBE. Применение основных операторов языка.

    презентация [76,2 K], добавлен 14.10.2013

  • Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.

    контрольная работа [989,9 K], добавлен 29.03.2011

  • Рабочая среда Visual Basic (VB) и ее основные компоненты. Ввод и вывод данных в VB. Объявление переменных и констант в программе. Создание и работа с процедурами и функциями, их виды. Организация ветвления в VB. Использование циклов в программировании.

    практическая работа [502,5 K], добавлен 26.10.2013

  • Написание тестирующей программы для проверки знаний учащихся с помощью языка программирования Visual Basic for Applications (VBA), встроенного в пакет Microsoft Office. Общие сведения о программе, условия ее выполнения, настройка, проверка, выполнение.

    контрольная работа [25,2 K], добавлен 07.06.2010

  • Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.

    курсовая работа [3,0 M], добавлен 19.06.2010

  • Назначение и основные функции Ехсе1. Причины возникновения ошибок и способы их решения в Ехсе1. Язык программирования Visual Basic for Applications (VBA): общая характеристика языка. Основные понятия информационной безопасности, способы ее нарушения.

    шпаргалка [201,2 K], добавлен 26.02.2010

  • Этапы подготовки и решения задач на компьютере. Способы предоставления алгоритмов. Простые типы данных и их обработка. Основы работы с графикой и графическими операторами в Visual Basic. Организация линейной программы. Процедуры и функции в языке Паскаль.

    дипломная работа [1,9 M], добавлен 25.10.2015

  • Разработка структуры базы данных в приложении Access. Создание запросов. Создание отчета для эффективного представления данных в печатном формате. Панель элементов, используемых при создании формы. Обработка данных с помощью языка запросов в SQL.

    курсовая работа [1,7 M], добавлен 09.05.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.