LibKing » Книги » comp-programming » Симон Робинсон - C# для профессионалов. Том II

Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком). Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Симон Робинсон - C# для профессионалов. Том II
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.87/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.

В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.

Для кого предназначена эта книга

Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.

Основные темы книги

• Все особенности языка C#

• C# и объектно-ориентированное программирование

• Приложения и службы Windows

• Создание web-страниц и web-служб с помощью ASP NET

• Сборки .NET

• Доступ к данным при помощи ADO NET

• Создание распределённых приложений с помощью NET Remoting

• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

string fileName = "..\\..\\..\\books.xml";

// Создать новый объект TextReader

XmlTextReader tr = new XmlTextReader(filename);

// Прочитать узел за раз

while (tr.Read()) {

// проверить, что это элемент NodeType

if (tr.NodeType = XmlNodeType.Element) {

// если это — элемент, то посмотрим атрибуты

for(int i=0; i

listBox1.Items.Add(tr.GetAttribute(i));

}

}

}

}

На этот раз мы ищем узлы элементов. Когда такой узел найден, в цикле просматриваются все атрибуты и с помощью метода GetAttributeзначение атрибута загружается в listbox.

Проверка

Если нужно проверить документ XML, используйте класс XmlValidatingReader. Он обладает всей функциональностью класса XmlTextReader(оба реализуют XmlReader, но XmlValidatingReaderдобавляет свойство ValidationType, свойство Schemesи свойство SchemaType). Свойство ValidationTypeзадается как тип проверки, которую желательно выполнить. Допустимые значения этого свойства следующие:

Значение свойства Описание
Auto Если в объявлен DTD, он и будет загружаться и обрабатываться. Атрибуты по умолчанию и общие сущности, определенные в DTD, станут доступными. Если найден атрибут XSD schemalocation, то загружается и обрабатывается XSD, при этом все атрибуты по умолчанию, определенные в схеме, будут возвращены. Если найдено пространство имен с префиксом MSXML x-schema:, загрузится и обработается схема XDR, все атрибуты, определенные по умолчанию, возвратятся.
DTD Проверка согласно правилам DTD.
Schema Проверка согласно правилам XSD.
XDR Проверка согласно правилам XDR.
None Проверка не выполняется.

Если свойство задано, то должен быть назначен обработчик событий ValidationEventHandler. Событие инициируется, когда случается ошибка проверки. На ошибку можно отреагировать любым подходящим образом. Рассмотрим пример. Добавим пространство имен схемы XDR (XML Data Reduced — приведенные данные XML) к файлу books.xmlи назовем этот файл booksVal.xml. Теперь он выглядит так:

Benjamin

Franklin

8.99

Herman

Melville

11.99

Plato

9.99

Отметим, что элемент bookstoreимеет теперь атрибут xmlns="x-schema:books.xdr". Это будет указывать на следующую схему XDR:

</ЕlementType>

Отметим, что имеются два атрибута в файле XML, которые не определены в схеме. Если посмотреть внимательно, то можно увидеть что в схеме нет атрибутов publication-dateи ISBN из элемента book. Мы сделали это, чтобы показать, что проверка действительно выполняется. Можно использовать для подтверждения этого следующий код. Необходимо будет добавить в класс using System.Xml.Schema. Весь код доступен в XMLReaderSample5:

protected void button1_Click (object sender, System.EventArgs e) {

//измените это в соответствии с используемой структурой путей доступа.

string filename = "..\\..\\..\\booksVal.xml";

XmlTextReader tr = new XmlTextReader(filename);

XmlValidatingReader trv=new XmlValidatingReader(tr);

// Задать тип проверки

trv.ValidationType=ValidationType.xdr;

// Добавить обработчик события проверки

trv.ValidationEventHandler += new ValidationEventHandler(this.ValidationEvent);

// Считываем узел за раз

while(trv.Read()) {

if (trv.NodeType == XmlNodeType.Text) listBox1.Items.Add(trv.Value);

}

}

public void ValidationEvent(object sender, ValidationEventArgs args) {

MessageBox.Show(args.Message);

}

Мы создаем XmlTextReaderдля передачи в XmlValidationReader. Когда XmlValidationReader trvсоздан, можно использовать его по большей части так же, как XmlTextReaderв предыдущих примерах. Различия состоят в том что в данном случае определен атрибут ValidationTypeи добавлен ValidationEventHandler. Каждый раз при возникновении ошибки проверки инициируется ValidationEvent. Затем можно будет обработать ошибку проверки любым приемлемым способом. В данном примере выводится MessageBoxс описанием ошибки. Вот как выглядит MessageBox, когда инициируется ValdationEvent.

В отличие от некоторых синтаксических анализаторов XmlValidationReaderпосле - фото 6

В отличие от некоторых синтаксических анализаторов XmlValidationReaderпосле возникновения ошибки продолжает считывание. Имеется возможность определить серьезность ошибки проверки. Если окажется, что это серьезная ошибка, то можно остановить чтение.

Свойство Schemasкласса XmlValidationReaderсодержит коллекцию XmlSchemaCollection, которая находится в пространстве имен System.Xml.Schema. В этой коллекции находятся предварительно загруженные схемы XSD и XDR, что позволяет выполнить очень быструю проверку, (особенно, если нужно проверить несколько документов), так как схему не нужно каждый раз перезагружать. Для получения выигрыша в производительности и создается объект XmlSchemaCollection. Метод Addимеет четыре перегружаемые версии. Можно передать объект на основе XmlSchema ,объект на основе XmlSchemaCollection, строку stringс пространством имен вместе со строкой stringс URL файла схемы и, наконец, строку stringс пространством имен и объектом на основе XmlReader, который содержит схему.

Запись XML

Класс XmlTextWriterпозволяет записывать XML в поток, файл или объект TextWriter. Подобно XmlTextReaderон делает это только вперед, некэшируемым образом. XmlTextWriterможно конфигурировать различным образом, что позволяет определить такие вещи, как наличие или отсутствие отступов, величину отступа, какой использовать символ кавычки в значениях атрибутов, и поддерживаются ли пространства имен. Свойство DataTypeNamespaceопределяет, как строго значения типов преобразуются в текст XML. Для этого свойства допустимо значение urn:schemas-microsoft-com:datatypes, которое поддерживает типы данных XDR, и другое значение www.w3.org/1999/XMLSchema-data-types, которое является схемой W3C типов данных XSD. Чтобы использовать, например, тип данных TimeSpan, необходимо будет задать это свойство для типов данных XSD.

Приведем простой пример, чтобы увидеть, как может использоваться класс TextWriter(пример находится в папке XMLWriterSample1):

private void button1_Click(object sender, System.EventArgs e) {

// измените в соответствии с используемой структурой путей доступа

string fileName="..\\..\\..\\booknew.xml";

//создайте XmlTextWriter

XmlTextWriter tw=new XmlTextWriter(fileName, null);

// задайте форматирование с отступом

tw.Formatting=Formatting.Indented;

tw.WriteStartDocument();

//Начать создание элементов и атрибутов

tw.WriteStartElement("book");

tw.WriteAttributeString("genre", "Mystery");

tw.WriteAttributeString("publicationdate", "2001");

tw.WriteAttributeString("ISBN", "123456789");

tw.WriteElementString("title", "Case of the Missing Cookie");

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img