Программирование >>  Программирование с использованием ajax 

1 ... 262 263 264 [ 265 ] 266 267 268 ... 396


private void buttonClose Click(object sender, EventArgs e) {

Application.Exit ();

8. Запустите приложение. Обратите внимание, как изменяется значение в результате щелчков на переключателях.

Описание полученных результатов

Первые два метода, RecurseXmlDocumentNoSiblings и RecurseXmlDocument, а также DisplayList используются для вывода листингов в окно списка. Причина того, что нужно более одного такого метода, связана с необходимостью наличия более тонкого контроля вывода.

Код, который выполняет сам поиск в XML, вводится на шагах 6 и 7. Метод SelectNodes класса XmlNode используется для выполнения поисков, которые могут или должны возвращать множественные узлы. Этот метод возвращает объект XmlNodeList, который затем передается вспомогательному методу DisplayList.

Другой метод, применяемый для поиска в XML- это SelectSingleNode. Этот метод, как следует из его названия, возвращает единственный узел, который передается вспомогательному методу RecurseXmlNodeNoSiblings для отображения текущего узла и его дочерних узлов.

В табл. 25.9 описаны запросы XPath, используемые в этих методах.

Таблица 25.9. Запросы XPath, используемые в SelectNodes и SelectSingleNode Запрос XPath Описание

book/author

Выбрать все узлы в XML по имени author с родителем book

book[author=

Выбрать все узлы book в XML, имеющие дочерний узел с

Jacob Hammer Pedersen]

именем author и значением Jacob Hammer Pedersen

book

Выбрать все узлы book в XML

book[title=

Выбрать узел book с узлом title, эквивалентным

Beginning Visual C# ]

Beginning Visual С#

books

Выбрать все узлы books

Выбрать все дочерние узлы текущего узла

Резюме

В этой главе вы ознакомились с расширяемым языком разметки (XML) - текстовым форматом для хранения и извлечения данных. Вы изучили правила, которые нужно соблюдать для того, чтобы гарантировать создание правильно оформленных документов XML, а также узнали, как проверить их на соответствие схемам XSD и XDR.

После изучения основ XML вы видели, как XML может применяться в коде С# с использованием Visual Studio. И, наконец, вы узнали о применении XPath для формулирования запросов к XML.

В этой главе рассмотрены следующие вопросы.

□ Как читать и записывать код XML.

□ Правила, которым должен соответствовать правильно оформленный XML.

□ Как проверять документы XML на соответствие двум типам схем: XSD и XDR.



□ Как использовать .NET для работы с XML в приложениях.

□ Как искать в XML-документах с использованием запросов XPath.

В следующей главе вы узнаете о доступе к базам данных из .NET с использованием ADO.NET. Но прежде чем приступить к этому, для закрепления материала выполните следующие упражнения.

Упражнения

L Измените пример из раздела Создание узлов так, чтобы в узел book вставлялся атрибут по имени Pages со значением 1000.

2. В настоящее время последний пример XPath не имеет встроенных возможностей для поиска атрибута. Добавьте переключатель для выполнения запроса всех книг, для которых атрибут pages узла node равен 1000.

3. Измените методы, пишущие в окно списка (RecurseXmlDocument и RecurseXml DocumentNoSiblings), в примере XPath таким образом, чтобы они могли отображать атрибуты.




Введение в LINQ

В ЭТОЙ главе представлен язык интегрированных запросов LINQ (Language-Integrated Query) - новое расширение языка С#, добавленное в версию С# 3.0 - язык, поддерживаемый Visual С# 2008. Язык LINQ решает проблему работы с очень большими коллекциями объектов, когда обычно приходится выбирать подмножество коллекции для решения определенной задачи.

В прошлом такого рода работа требовала написания объемного циклического кода и дополнительной обработки, связанной с сортировкой или группированием найденных объектов, которая порождала еще больший код. Язык LINQ избавляет от необходимости писать дополнительный циклический код для фильтрации и сортировки. Он позволяет сосредоточиться на объектах, которыми оперирует программа, предоставляя удобные средства формулирования запросов.

В дополнение к элегантному языку запросов, который позволяет специфицировать точно искомые объекты, LINQ предлагает также множество расширяющих методов, которые облегчают задачу сортировки, группирования и вычисления статистики на результатах запросов.

LINQ также позволяет запрашивать крупные базы данных или сложные документы XML, содержащие миллионы или даже миллиарды объектов, которые нужно эффективно искать и которыми необходимо манипулировать. Традиционно эта проблема обычно решалась специализированной библиотекой классов или даже посредством использования другого языка, такого как язык запросов базы данных SQL. Однако библиотеки классов не так легко расширить для множества других типов объектов, а смешивание языков вызывает проблемы несоответствия типов, а также затрудняет понимание программ разработчикам, не знакомым с обоими языками. LINQ предоставляет механизм, встроенный в сам язык С#, который решает каждую из упомянутых проблем.

В этой главе мы представим различные вариации LINQ, такие как LINQ to Objects, LINQ to SQL и LINQ to XML, a также раскроем следующие темы.

а Кодирование запроса LINQ и частей оператора запроса LINQ.

□ Использование синтаксиса методов LINQ вместо синтаксиса запросов LINQ.



1 ... 262 263 264 [ 265 ] 266 267 268 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика