Анализ особенностей языка гипертекстовой разметки XML
Анализ основных причин использования гипертекстовой разбивки текстового документа в современных информационных системах. Пример исходного кода веб-страницы открытой с помощью браузера. Методика поиска строк в XML-информации с помощью LINQ-запроса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 12.03.2015 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
За неполный год своего официального существования язык XML привлек к себе уже достаточно много внимания со стороны разработчиков и пользователей Интернет. Сегодня количество приверженцев этой новой технологии возрастает также стремительно, как и число сообщений об очередных взятых ею преградах на пути к всеобщему признанию. Несмотря на то, что XML очень молод (международная организация W3C утвердила спецификацию "Extensible Markup Language (XML) 1.0" чуть меньше года назад - в начале февраля 1998 г) и отдельные компоненты этого языка находятся еще в стадии доработки, уже сегодня появляются новые языки, созданные на основе XML, возникают многочисленные Web-сервера, использующие эту технологию для организации хранящейся на них информации. Мир Интернет вокруг нас в очередной раз преображается, и мы можем стать участниками этого процесса уже сегодня.
1. Для чего нужен новый язык разметки?
Когда осенью 1991 года Интернет впервые услышал позывные новой технологии, название которой легко уместилось в три буквы, почти никто не мог представить себе, что завоевания ее окажутся настолько глобальными. Сегодня для многих неискушенных пользователей слово Интернет прочно ассоциируется с WWW и с уст специалистов не сходит тема будущего информационных систем и влияния на это будущее всемирной сетевой паутины.
Популярность World Wide Web и неотъемлемой ее части, HTML, безусловно, стала причиной повышенного внимания к системам гипертекстовой разметки документов. Хотя понятие гипертекста было введено В. Бушем еще в 1945 году и, начиная с 60-х годов стали появляться первые приложения, использующие гипертекстовые данные, всплеск активности вокруг этой технологии начался лишь тогда, когда возникла реальная необходимость в механизме объединения множества информационных ресурсов, обеспечения возможности создания, просмотра нелинейного текста. И примером реализации этого механизма послужила паутина WWW.
Язык разметки документов - это набор специальных инструкций, называемых тэгами, предназначенных для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Тэги языка, или, как их иногда называют, управляющие дескрипторы, в таких документах каким-то образом кодируются, выделяются относительно основного содержимого документа и служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента. В самых первых системах для обозначения этих команд использовались символы “<” и “>”, внутри которых помещались названия инструкций и их параметры. Сейчас такой способ обозначения тэгов является стандартным.
Использование гипертекстовой разбивки текстового документа в современных информационных системах во многом связано с тем, что гипертекст позволяет создавать механизм нелинейного просмотра информации. В таких системах данные представляются не в виде непрерывного потока текстовой информации, а набором взаимосвязанных компонентов, переход по которым осуществляется при помощи гиперссылок.
Самый популярный на сегодняшний день язык гипертекстовой разметки - HTML, был создан специально для организации информации, распределенной в сети Интернет, и является одной из ключевых составляющих технологии WWW. С использованием гипертекстовой модели документа способ представления разнообразных информационных ресурсов в сети стал более упорядочен, а пользователи получили удобный механизм поиска и просмотра нужной информации.
HTML является упрощенной версией стандартного общего языка разметки - SGML (Standart Generalised Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования дескрипторов осуществляется при помощи специального набора правил, называемых DTD- описаниями(более подробно о DTD мы поговорим чуть позже), которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но в виду некоторой своей сложности, SGML использовался, в основном, для описания синтаксиса других языков(наиболее известным из которых является HTML), и немногие приложения работали с SGML- документами напрямую.
Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций - тэгов, при помощи которых осуществляется процесс разметки. Инструкции HTML, в первую очередь, предназначены для управления процессом вывода содержимого документа на экране программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность применять возможности этого языка для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Web.
Однако современные приложения нуждаются не только в языке представления данных на экране клиента, но и в механизме, позволяющем определять структуру документа, описывать содержащиеся в нем элементы. HTML обладает несложным набором команд и вполне успешно справляется с задачей описания текстовой информации и отображением ее на экране программы просмотра - браузера. Однако сами отображаемые данные никак не связаны с теми тэгами, которые используются для форматирования, поэтому у программ-анализаторов нет возможности использовать тэги HTML для поиска нужных нам фрагментов документа. Т.е. встретив, например, такое описание:
<font color="red">rose</font>,
программа просмотра будет знать, каким цветом отобразить текст, содержащийся внутри тэгов <font></font> и, вероятно, отобразит его правильно, но ей абсолютно безразлично, в каком месте документа встретился этот тэг, в какие другие тэги заключен текущий фрагмент, существуют ли вложенные в него фрагменты, правильно ли построены отношения между объектами. Такое "безразличие" к структуре документа приводит к тому, что поиск или анализ информации внутри него ничем не будет отличаться от работы со сплошным, не разбитым на элементы текстовым файлом. А это, как известно, не самый эффективный способ работы с информацией.
Другим существенным недостатком HTML можно назвать ограниченность набора его тэгов. DTD - правила для HTML определяют фиксированный набор дескрипторов и поэтому у разработчика нет возможности вводить собственные, специальные тэги. Хотя время от времени появляются новые расширения языка (на сегодняшний день последней версией HTML является HTML 4.0), но долгий путь их стандартизации, сопровождаемый постоянными разногласиями между основными производителями броузеров делают практически невозможной быструю адаптацию языка, его использование для отображения специализированной информации (например, мультимедийной, математических, химических формул и т.д.).
Подводя итог всему сказанному, можно утверждать, что HTML уже сегодня не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки, мощный, гибкий, и, одновременно с этим, удобный язык XML. В чем же заключается его достоинства?
XML (Extensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, если, например, мы считаем, что для обозначения элемента rose в документе необходимо использовать тэг <flower>;, то XML позволяет свободно использовать определяемый нами тэг и мы можем включать в документ фрагменты, подобные следующему:
<flower>rose</flower>
Набор тэгов может быть легко расширен. Если, предположим, мы хотим также указать, что описание цветка должно по смыслу идти внутри описания оранжереи, в которой он цветет, то просто задаем новые тэги и выбираем порядок их следования:
<conservatory>
<flower>rose</flower>
</conservatory>
Если мы хотим посадить туда еще несколько цветочков, то должны внести следующие изменения:
<conservatory>
<flower>rose</flower>
<flower>tulip</flower>
<flower>cactus</flower>
</conservatory>
Как видно, сам процесс создания XML документа очень прост и требует от нас лишь базовых знаний HTML и понимания тех задач, которые мы хотим выполнить, используя XML в качестве языка разметки. Таким образом, у разработчиков появляется уникальная возможность определять собственные команды, позволяющие им наиболее эффективно определять данные, содержащиеся в документе. Автор документа создает его структуру, строит необходимые связи между элементами, используя те команды, которые удовлетворяют его требованиям и добивается такого типа разметки, которое необходимо ему для выполнения операций просмотра, поиска, анализа документа.
Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации. Сегодня в глубинах W3C находится на рассмотрении рабочий вариант стандарта XML-QL(или XQL), который, возможно, в будущем составит серьезную конкуренцию SQL. Кроме того, XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента. В этой области одним из перспективных направлений является интеграция Java и XML - технологий, позволяющая использовать мощь обеих технологий при построении машинно-независимых приложений, использующих, кроме того, универсальный формат данных при обмене информации.
XML позволяет также осуществлять контроль за корректностью данных, хранящихся в документах, производить проверки иерархических соотношений внутри документа и устанавливать единый стандарт на структуру документов, содержимым которых могут быть самые различные данные. Это означает, что его можно использовать при построении сложных информационных систем, в которых очень важным является вопрос обмена информацией между различными приложениями, работающими в одной системе. Создавая структуру механизма обмена информации в самом начале работы над проектом, менеджер может избавить себя в будущем от многих проблем, связанных с несовместимостью используемых различными компонентами системы форматов данных.
Также одним из достоинств XML является то, что программы-обработчики XML - документов не сложны и уже сегодня появились и свободно распространяются всевозможные программные продукты, предназначенные для работы с XML-документами. XML поддерживается сегодня в Microsoft Internet Explorer 4/0 и в бэта-версиях IE5. Было заявлено о его поддержке в последующих версиях Netscape Communicator, СУБД Oracle, DB-2, в приложениях MS-Office . Все это дает основания предполагать, что, скорее всего, в ближайшем будущем XML станет основным языком обмена информации для информационных систем, заменив собой, тем самым, HTML. На основе XML уже сегодня созданы такие известные специализированные языки разметки, как SMIL, CDF, MathML, XSL, и список рабочих проектов новых языков, находящихся на рассмотрении W3C, постоянно пополняется.
2. Как выглядит XML-документ?
Если Вы знакомы с HTML, изучение XML не потребует от вас особых усилий. Хотя XML, безусловно, сильно отличается по своим возможностям и предназначению от языка гипертекстовой разметки, оба эти языка являются подмножествами SGML, и, следовательно, наследуют его базовые принципы.
Структура документа.
Простейший XML- документ может выглядеть так, как это показано в примере ниже:
<?xml version="1.0"?>
<list_of_items>
<item id="1"><first/>Первый</item>
<item id="2">Второй <sub_item>подпункт 1</sub_item></item>
<item id="3">Третий</item>
<item id="4"><last/>Последний</item>
</list_of_items>
Обратите внимание на то, что этот документ очень похож на обычную HTML-страницу. Также, как и в HTML, инструкции, заключенные в угловые скобки называются тэгами и служат для разметки основного текста документа. В XML существуют открывающие, закрывающие и пустые тэги (в HTML понятие пустого тэга тоже существует, но специального его обозначения не требуется).
Тело документа XML состоит из элементов разметки (markup) и непосредственно содержимого документа - данных (content). XML - тэги предназначены для определения элементов документа, их атрибутов и других конструкций языка. Более подробно о типах применяемой в документах разметки мы поговорим чуть позже.
Любой XML- документ должен всегда начинаться с инструкции <?xml?>, внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа
3. Язык XML и схемы XML
Язык XML (Extensible Markup Language ) в настоящее время нашел множество разнообразных применений и является основой для большого числа общепринятых спецификаций. На рисунке представлены основные используемые в распределенных системах спецификации, основанные на языке XML - XSD, SOAP, WSDL, - которые будут рассмотрены далее.
Рис. 1
Язык XML представляет собой язык разметки текстового документа, представленного совокупностью именованных, древовидно вложенных элементов. Каждый элемент может иметь некоторое текстовое значение и набор атрибутов, имеющих имя и простое значение (строку). Язык XML является абстрактным языком разметки, не определяющим как либо смысл элементов документа. Документы XML достаточно хорошо читаются как человеком, так и многочисленными программными анализаторами. При естественном подходе к именам элементов и атрибутов он является самодокументирующимся языком. Перед древовидной структурой элементов, имеющих единственный корень, могут идти отдельные элементы с метаинформацией, указывающий в частности кодировку документа и версию языка, как показано в следующем примере.
<?xml version="1.0" encoding="utf-8"?>
<GeomFigures>
<Point X="2" Y="-1" />
<Line>
<A X="-1" Y="-1" />
<B X="2" Y="2" />
</Line>
</GeomFigures>
Основными недостатками XML с точки зрения обмена сообщениями является неудобное, в силу его древовидной структуры, представление отношения "многие ко многим", а также несколько большие затраты времени на передачу и разбор сообщений на языке XML по сравнению с двоичным представлением аналогичных данных.
Поскольку свойственное XML открытое представление информации не всегда удобно с точки зрения безопасности, то существует спецификации XML-DigitalSignature и XML-Encrypton, предназначенные для передачи в XML конфиденциальной информации. Первая из них позволяет добавить к XML-документу цифровую подпись, вторая - зашифровать XML-документ или отдельные его элементы.
Для определения назначения элементов и атрибутов XML-документа введено понятие пространства имен XML (XML namespace ), которое должно иметь уникальный идентификатор. Обычно пространство имен идентифицируется некоторым URI ( Uniform Resource Identifier ), связанным с доменом организации, предложившее пространство имен. По данному URI может располагаться некоторое описание пространства имен, однако это не обязательно. Все используемые в XML документе пространства имен описываются в корневом элементе документа в атрибутах с именем вида xmlns:schema_id. Таким образом схема связывается с некоторым коротким идентификатором schema_id, который затем используется как префикс атрибутов и элементов. Например, в следующей строчке пространству имен http://www.w3.org/2001/XMLSchema> дается идентификатор xs, используемый в имени элементаx s:schema.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
Часть имени элемента после двоеточия является локальной, а часть перед двоеточием должна быть связана со схемой в корневом атрибуте. Благодаря такой нотации разные пространства имен могут иметь совпадающие имена элементов. Пространства имен используются оперирующими с XML программами.
Одним из достоинств XML является наличия языков спецификаций, определяющих правильный XML документ. Первоначально эту функцию выполнял DTD (Document Type Definition), однако в настоящий момент общепринятым стандартом является спецификация схем XML (XML Schema Definition, XSD). XSD документ является также документом на языке XML, использующим пространство имен. Файл с описанием схемы XML определяет:
· словарь документа (имена элементов и атрибутов);
· синтаксис корректного документа;
· сложные типы данных.
Элементарные типы данных описаны в самом пространстве имен http://www.w3.org/2001/XMLSchema. Синтаксис схемы позволяет описать сложные типы данных, включающие в себя поля простых типов, сложных типов, а также сложные последовательности, каждый элемент которых может принадлежать к одному из нескольких сложных или простых типов данных. Таким образом,синтаксис схемы XML позволяет описать результат сериализации контейнера (списка или массива), в котором могут храниться объекты нескольких известных классов. В состав .NET Framework входит утилита xsd.exe, создающая схему по заданному классу, которая будет подробно рассмотрена в следующей главе. Соответствие между классами .NET и схемами не является взаимно однозначным. В частности, при использовании утилиты xsd.exe любым видам списочных контейнеров соответствует одинаковая последовательность в схемах XML.
4. Просмотр XML - документов
Как уже отмечалось, в отличие от HTML, XML никак не определяет способ отображения и использования описываемых с его помощью элементов документа, т.е. программе-анализатору предоставляется возможность самой выбирать нужное оформление. Этого требует принцип независимости определения внутренней структуры документа от способов представления этой информации. Например, задавая в документе элемент <flower>роза</flower>, мы лишь указываем, чтоrose в данном случае является цветком, но информации о том, как должен выглядеть данный элемент документа на экране клиента и должен ли он отображаться вообще, в таком определении нет.
Рис. 2. Пример исходного кода веб-страницы открытой с помощью браузера
Для того чтобы использовать данные, определяемые элементами XML, например, отображать их на экране пользователя, необходимо написать программу-анализатор, которая бы выполняла эти действия. Уже сегодня таких программ появилось достаточное количество и у разработчиков существует возможность выбора наиболее подходящей из них для решения конкретных проблем.
Как уже отмечалось ранее, в общем случае, программы- анализаторы можно разделить на две группы: верифицирующие (т.е. использующие DTD- описания для определения корректности документа) и не верифицирующие. Если Вы создаете свой язык и описываете его грамматику на основе DTD, то для анализа документов, написанных на этом языке, безусловно, потребуется программа, проверяющая корректность составления документа. Но так как использование DTD в XML не является обязательным, то любой правильно оформленный документ может быть распознан и разобран программой, предназначенной для анализа XML- документов. В любом случае, используя универсальные XML- анализаторы, Вы можете быть уверенным в том, что если заданные в документе конструкции языка являются синтаксически правильными, то программа-анализатор сможет правильно извлечь определяемые ими элементы документа и передать их прикладной программе, выполняющей необходимые действия по отображению. Т.е. после разбора документа в большинстве случаев, Вам предоставляется объектная модель, отображающая содержимое Вашего документа, и средства, необходимые для работы с ней (прохода по дереву элементов). При этом в некоторых анализаторах способ представления структуры документа основывается на спецификации DOM. Поэтому у Вас появляется также возможность использовать строгую иерархическую модель DOM для построения собственных документов.
Если речь идет о способах отображения информации, хранящейся в XML, то необходимо упомянуть разрабатываемый в настоящее время W3C стандарт стилевых таблиц для XML, которые предназначены для описания правил отображения элементов XML.
5. Отображение XML-документа
Программа "LINQ-отображение XML-документа" (ее окно приведено на скриншоте ниже) показывает, как, используя LINQ, можно прочитать и отобразить информацию, находящуюся в XML-файле.
Рис. 3
Программа "LINQ to XML" , ее форма приведена на скриншоте ниже, показывает, как можно, используя LINQ, создать XML-документ, загрузить существующий документ и добавить в него информацию. Кроме этого, программа показывает, как выбрать из XML-документа нужную информацию и отобразить ее в поле компонента ListView.
Рис. 4
Microsoft Visual Studio 2010.
Microsoft Visual Studio -- линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и вуправляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).
Visual Studio 2010 (кодовое имя Hawaii, для Ultimate -- Rosario; внутренняя версия 10.0) -- выпущена 12 апреля 2010 года вместе с .NET Framework 4.0. Visual Studio включает поддержку языков C# 4.0 и Visual Basic .NET 10.0, а также языка F#, отсутствовавшего в предыдущих версиях.
Язык программирования С#
Язык программирования C# -- объектно-ориентированный язык программирования. Разработан в компании Microsoft, как язык разработки приложений для платформы Microsoft .NE Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.
С#, имеет много полезных особенностей - поддержка совместимости версии, объектная ориентированность и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения, особенно COM+ приложения и Web-серверы (Web-службы).
При создании С# авторы учли достижения многих других языков программирования: C++, Java, Delphi, Visual Basic и т.д.
С# разработан с чистого листа, оставив в прошлом все неудобные особенности любой из предшествующих ему языков. В результате получился простой, удобный и современный язык программирования, по мощности не уступающий С++, но существенно повышающие продуктивность разработки.
C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем (однако, эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET). CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.
6. Поиск строк (записей) в XML-данных с помощью LINQ-запроса
К примеру имеем XML-данные в которых содержится таблица с именами и телефонами, причем имена в этой телефонной табличке повторяются, например, строка с именем «Витя». Эта маленькая несерьезная, на первый взгляд, задача подразумевает, например, такую уже «серьезную» задачу. Имеем громадную базу данных, которую мы получили на каком-то этапа обработки в виде XML, и нам требуется «отфильтровать» записи в этой базе на предмет содержания в некотором поле определенной строки.
Прежде чем решить данную задачу, давайте посмотрим отображение обсуждаемых XML-данных в табличном редакторе MS Excel.
Рис. 5
Как видно в редакторе MS Excel наши XML-данные представлены весьма наглядно. И очень понятно, что мы хотим получить, а именно, все номера телефонов напротив имени «Витя».
7. Создание проекта
Запускаем Visual Studio 2010
Иногда, после установки программы, ярлык не отображается на рабочем столе, в таком случае приходится запускать программу в ручном режиме, через меню «Пуск»: Пуск/Все программы/ Microsoft Visual Studio 2010.
После запуска программы перед нами открывается начальный пользовательский интерфейс, что показан на рисунке ниже.
Рис. 6
Для того, чтобы начать новый проект, необходимо в верхнем поле выбрать пункт «Файл» (показано на рисунке внизу).
Рис. 7
В открывшемся окне, нам нужно выбрать строку «Создать проект».
Так же можно кликнуть по соответствующей кнопке в меню начальной страницы, как показано на рисунке ниже.
Рис. 8
После чего, перед нами откроется окно «Создать проект»
В левой колонке находится список инсталлированных шаблонов. Среди них - шаблоны программирования, встроенные в Visual Studio, в том числе Visual Basic,Visual C#, Visual C++,Visual, F# и др. Нам нужен язык Visual C#
В результате мы увидим окно «Form1».
Теперь на нашей форме нужно разместить нужные нам элементы, а именно TextBox для вывода в него найденных строк из таблицы XML. Для этого просто перетащим элемент TextBox в окно Form 1 или кликнем по нему дважды левой кнопкой мыши.
Видим, что на нашей форме теперь появился элемент для ввода строк.
Теперь нам нужно добавить ссылку на документ XML, который будет использоваться в нашей программе. Для этого в пункте меню "Проект" выберем команду "Добавить ссылку".
В открывшемся окне нужно выбрать нужный нам проект, или же указать путь к нему через вкладку «Обзор».
После подготовки формы и добавления ссылки можно приступать к написанию кода программы.
Для этого в окне справа «Обозреватель решений» жмем кнопку «перейти к коду».
8. Программный код
Рис. 9
Рис. 10
9. Листинг программного кода
гипертекстовый браузер запрос информационный
// Имеем XML-данные, в которых содержится таблица с именами и телефонами,
// причем имена в этой телефонной табличке повторяются. Задача состоит в том,
// Чтобы в данной таблице телефонов (представленной в виде XML) найти все
// строчки с именами «Витя» с помощью LINQ-запроса
using System.Linq;
using System.Windows.Forms;
//Другие дерективы using удалены, поскольку они не используются
// в данной программе
namespace Linq5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Text = "LINQ-запрос к XML-данным"; textBox1.Multiline = true;
// Инициализация XML-строки:
string СтрокаXML =
@"<?xml version=""1.0""?>
<ТаблицаТелефонов>
<Строка>
<Имена>Витя</Имена>
<Номера_телефонов>274 28 44</Номера телефонов>
</Строка>
<Строка>
<Имена>Андрей</Имена>
<Номера_телефонов>8-085-456-2378</Номера телефонов>
</Строка>
<Строка>
<Имена>Карапузова Таня</Имена>
<Номера_телефонов>445-56-47</Номера_телефонов>
</Строка>
<Строка>
<Имена>Витя</Имена>
<Номера_телефонов>099 72 161 52</Номера телефонов>
</Строка>
<Строка>
<Имена>Никипелов</Имена>
<Номера_телефонов>236-77-76</Номера_телефонов>
</Строка>
<Строка>
<Имена>Зиьоров</Имена>
<Номера_телефонов>254 67 97</Номера_телефонов>
</Строка>
</ТаблицаТелефонов>";
var КорневойЭлемент = System.Xml.Linq.XElement.Parse(СтрокаXML);
// Запись строки, содержащей XML, в файл:
// System.IO.File.WriteAllText("ТаблицаТелефонов.xml", СтрокаXML);
// var КорневойЭлемент = System.Xml.Linq.
// XElement.Load.("таблицаТелефонов.xml");
var Записи = from x in КорневойЭлемент.Elements("Строка")
where (string)x.Element("Имена") == "Витя"
select x.Element("Номера_телефонов").Value;
textBox1.Text = textBox1.Text +
@"Строки, содержащие имя ""Витя"":" + "/r/n";
// Вывод коллекции записей в текстовое поле textBox1:
foreach (var x in Записи)
textBox1.Text = textBox1.Text + x + "/r/n";
// Таких записей в этой коллекции - ровно одна
}
}
}
Размещено на Allbest.ru
...Подобные документы
Использование гипертекстовой разбивки текстового документа в современных информационных системах. Вложенность тэгов в XML. Запись, чтение файлов XML. Создание приложения в Visual Studio.Net. Трансформация и привязка данных, проверка достоверности.
курсовая работа [40,7 K], добавлен 09.01.2014Структура HTML–документа. Синтаксис записи тега. Обозначение цветов в шестнадцатеричной системе счисления. Формат задания и параметры таблицы в документе, параметры её заголовка, строк и ячеек, группирование столбцов. Наследование свойств выравнивания.
курсовая работа [318,8 K], добавлен 03.01.2014Программно-аппаратный комплекс, необходимый для работы сети масштаба отдела (юридического). Определание топологии, необходимых протоколов для указанного варианта сети. С помощью языка гипертекстовой разметки создание своей персональной веб страницы.
контрольная работа [166,1 K], добавлен 31.07.2008Определение понятия гипертекста. Основные части документа SGML. История создания стандартного языка разметки документов HTML. Отличия синтаксиса XHTML от HTML. RSS - семейство XML-форматов для описания лент новостей. Применение языка разметки KML.
презентация [4,3 M], добавлен 15.02.2014Написание сайта с помощью выбранного языка программирования с минимальной интерактивностью. Изучение дополнительных аспектов языка гипертекстовой разметки HTML. Моделирование информационной структуры. Разработка структуры данных, центральный фрейм.
курсовая работа [1,0 M], добавлен 02.06.2015Цель и место размещения документа Web. Язык гипертекстовой разметки. Сценарий и структура Web-документа. Основные редакторы гипертекста. Создание документов в стандарте HTML. Создание заголовков, форматирование и изменение стиля, нумерация списков.
реферат [34,4 K], добавлен 22.11.2009Развитие и классификация языков программирования. Методические рекомендации по изучению языков программирования. Основные понятия объектно-ориентированного программирования. Создание электронного учебного пособия с помощью языка гипертекстовой разметки.
курсовая работа [331,1 K], добавлен 06.09.2011Создание сайта при помощи HTML и CSS. Язык гипертекстовой разметки HTML и таблица стилей CSS. Основные понятия об этих языках, этапы и алгоритмы программного обеспечения. Добавление стилей в документ. Свойства элементов, принцип построения Web-страницы.
курсовая работа [2,9 M], добавлен 12.01.2016Понятие технологии LINQ, использование запросов и формализация задачи. Пример алгоритма добавления поля на главную форму с использованием функции LINQ Select. Создание дополнительного списка с альбомами выбранного исполнителя, применяя функцию LINQ Where.
лабораторная работа [170,6 K], добавлен 05.12.2013Понятие, сущность и особенности применения языка HTML, а также структура его документа. Рекомендации по созданию сайтов в интернете. Общая структура и порядок оформления гипертекстов, записанных в языке HTML, примеры отображения их в браузере компьютера.
контрольная работа [29,4 K], добавлен 12.09.2010Технические возможности средств вычислительной техники. Понятие "информационная система" в Web. Обеспечение переносимости приложений и информационных ресурсов между различными программно–аппаратными платформами. Тенденции в развитии технологий Web.
курсовая работа [163,9 K], добавлен 25.05.2009Основы языка программирования Web-страниц – HTML. Виды информации, которую может содержать Web-страница: текст, графика, звук, анимация и видео. Инструментарий для создания Web-страниц. Основные HTML-редакторы, которые используются для Web-дизайна.
реферат [374,0 K], добавлен 19.01.2011Особенности и основы разработки и реализации гипертекстового транслятора, позволяющего на основе исходного текстового файла формировать гипертекстовую базу данных и использовать ее для просмотра исходного текстового файла с помощью перекрестных ссылок.
дипломная работа [411,1 K], добавлен 02.03.2011Особенности разработки Web-страницы, с использованием Microsoft Word. Алгоритм работы: сохранение документа Word, как веб-страницы; просмотр веб-страницы, создание гиперссылок. Настройка и проверка Web-страницы с помощью программы Internet Explorer.
контрольная работа [2,4 M], добавлен 03.04.2010Разработка web-приложения для оперирования данными с помощью базы данных и web-браузера в качестве клиента пользователя. Основные преимущества языка программирования Java. Осуществление редактирования, добавления информации и поиска по архивам данных.
дипломная работа [2,1 M], добавлен 30.09.2016Особенности создания сайта "Ремонт и эксплуатация автомобилей ВАЗ" содержащего необходимую информацию поэтапной разборки запчастей, а также устранение неисправностей, написанного с использованием языка гипертекстовой разметки HTML и языка JavaScript.
дипломная работа [10,5 M], добавлен 04.06.2019Создание индивидуального сайта с использованием языка гипертекстовой разметки HTML и языка скриптов JavaScript. Программные средства, используемые при выполнении работы. Основные средства для создания сайта. Разработка CSS-файла (таблица стилей).
лабораторная работа [31,0 K], добавлен 28.10.2010Программные компоненты, необходимые для реального функционирования информационной системы. Разработка информационного ресурса, позволяющего организовать работу с информацией о часах учебной нагрузки и основанного на принципах гипертекстовой технологии.
дипломная работа [1,2 M], добавлен 19.01.2012Общие принципы организации поиска информации в сети Интернет. Поиск с помощью каталогов информационных ресурсов и с помощью поисковых машин. Правила поиска информации, касающейся учета текущих обязательств и расчетов с покупателями и заказчиками.
курсовая работа [35,0 K], добавлен 09.11.2010Интернет как глобальная система связанных между собой протоколом компьютерных сетей. Требования организации на разработку программного обеспечения. Основные достоинства языка гипертекстовой разметки. Требования к пользовательскому интерфейсу сайта.
дипломная работа [2,8 M], добавлен 26.07.2017