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 - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

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

//doc объявлен на уровне модуля

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

doc.Load("..\\..\\..\\books.xml");

// получить только те узлы, которые хотим XmlNodeList

nodeLst=doc.GetElementsByTagName("title");

// итерации через список XmlNodeList

foreach(XmlNode node in nodeLst) listBox1.Items.Add(node.InnerText);

}

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

// создать строку поиска XPath

string srch="bookstore/book[title='" + listBox1.SelectedItem.ToString() + "']";

// поиск дополнительных данных

XmlNode foundNode=doc.SelectSingleNode(srch);

if (foundNode!=null) MessageBox.Show(foundNode.InnerText);

else MessageBox.Show("Not found");

}

В этом примере listboxс заголовками загружается из документа books.xml. Когда мы щелкаем на окне списка, вызывая порождение события SelectedIndexChange(не забудьте добавить код, присоединяющий обработчик событий в функцию InitializeComponent), мы берем текст выбранного пункта в listbox, в данном случае заголовок книги, создаем оператор XPath и передаем его в метод SelectSingleNodeобъекта doc. Он возвращает элемент book, частью которого является title (foundNode). Выведем для наглядности InnerText узла в окне сообщения. Мы можем продолжать щелкать на элементах в listboxсколько угодно раз, так как документ загружен и остается загруженным, пока мы его не освободим.

Небольшой комментарий в отношении метода SelectSingleNode. Это реализация XPathв классе XmlDocument. Существуют методы SelectSingleNodeи SelectNodes. Оба они определены в XmlNode, на котором основывается XmlDocument. SelectSingleNodeвозвращает XmlNode, и SelectNodesвозвращает XmlNodeList. Пространство имен System.Xml.XPathсодержит более насыщенную реализацию XPath(см. ниже).

Ранее рассматривался пример XmlTextWriter, который создает новый документ. Ограничение состояло в том, что он не вставлял узел в текущий документ. Это можно сделать с помощью класса XmlDocument. Если изменить button1_Clickиз предыдущего примера, то получим следующий код ( DOMSample3):

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

// изменить путь доступа, как требуется существующей структурой

doc.Load("..\\..\\..\\books.xml");

// создать новый элемент 'book'

XmlElement newBook=doc.CreateElement("book");

// задать некоторые атрибуты

newBook.SetAttribute("genre", "Mystery");

newBook.SetAttribute("publicationdate", "2001");

newBook.SetAttricute("ISBN", "123456789");

// создать новый элемент 'title'

XmlElement newTitle=doc.CreateElement("title");

newTitle.InnerText="Case of the Missing cookie";

newBook.AppendChild(newTitle);

// создать новый элемент author

XmlElement newAuthor=doc.CreateElement("author");

newBook.AppendChild(newAuthor);

// создать новый элемент name

XmlElement newName=doc.CreateElement("name");

newName.InnerText="С. Monster";

newAuthor.AppendChild(newName);

// создать новый элемент price

XmlElement newPrice=doc.CreateElement("price");

newPrice.innerText="9.95";

newBook.AppendChild(newPrice);

// добавить к текущему документу

doc.DocumenElement.AppendChild(newBook);

// записать doc на диск

XmlTextWriter tr=new XmlTextWriter("..\\..\\..\\booksEdit.xml", null);

tr.Formatting=Formatting.Indented;

doc.WriteContentTo(tr);

tr.Close();

// загрузить listBox1 со всеми заголовками, включая новый

XmlNodeList nodeLst=doc.GetElementsByTagName("title");

foreach(XmlNode node in nodeLst) listBox1.Items.Add(node.InnerText);

}

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

string srch="bookstore/book[title='" + listBox1.SelectedItem.ToString() + "']";

XmlNode foundNode=doc.SelectSingleNode(srch);

if (foundNode!=null) MessageBox.Show(foundNode.InnerText);

else MessageBox.Show("Not found");

}

При выполнении этого кода будет получена функциональность предыдущего примера, но в окне списка появилась одна дополнительная книга "The Case of Missing Cookie". Щелчок мыши на заголовке этой книги приведет к выводу такой же информации, как и для других книг. Анализируя код, можно увидеть, что это достаточно простой процесс. Прежде всего создается новый элемент book:

XmlElement newBook = doc.CreateElement("book);

Метод CreateElementимеет три перегружаемые версии, которые позволяют определить имя элемента, имя и пространство имен URI, и, наконец, prefix(префикс), lоcalname(локальное имя) и namespace(пространство имен). Когда элемент создан, необходимо добавить атрибуты

newBook.setAttribute("genre", "Mystery");

newBook.SetAttribute("publicationdate", "2001");

newBook.SetAttribute("ISBN", "123456789");

Напомним, что класс XmlAttributeрасширяет класс XmlNode, поэтому нам доступны все свойства и методы XmlNode. Даже если имеется очень сложная структура, то при ее размещении никаких проблем возникать не должно.

Теперь, когда атрибуты созданы и необходимо добавить другие элементы книги:

XmlElement newTitle=doc.CreateElement("title");

newTitle.InnerText="Case of the Missing Cookie";

newBook.AppendChild(newTitle);

Здесь снова создается новый объект на основе XmlElement (newTitle). Присваиваем свойству InnerTextзаголовок новой книги и добавляем потомок к элементу book. Затем это повторяется для остальных элементов book. Отметим, что элемент nameдобавлен как потомок элемента author. Это дает нам правильное отношение вложенности.

Наконец, мы добавляем элемент newBookк узлу doc.DocumentElement. Это тот же уровень, что и у всех других элементов book. Мы заменили существующий документ новым, в отличие от XmlWriter, где можно было только создать новый документ. Последнее, что нужно сделать, это записать новый документ XML на диск. В этом примере мы создаем новый XmlTextWriterи передаем его в метод WriteContentTo. Не забудьте вызвать метод Closeна XmlTextWriter, чтобы сбросить содержимое внутренних буферов и закрыть файл. Методы WriteContentToи WriteToполучают XmlTextWriterв качестве параметра. WriteContentToсохраняет текущий узел и всех потомков в XmlTextWriter, в то время как WriteToсохраняет текущий узел. Так как docявляется объектом на основе XmlDocument, он представляет весь документ и поэтому будет сохранен. Можно было бы также использовать метод Save. Он всегда будет сохранять весь документ. Saveимеет четыре перегружаемые версии. Можно определить строку с именем файла и путем доступа, объект на основе класса Stream, объект на основе класса TextWriter, или объект на основе XmlWriter. Именно это было использовано при выполнении примера. Отметим новую запись в конце списка:

Если нужно создать документ с самого начала можно использовать класс - фото 8

Если нужно создать документ с самого начала, можно использовать класс XmlTextWriter. Можно также использовать XmlDocument. Какой из них выбрать? Если данные, которые желательно поместить в XML, доступны и готовы для записи, то самым подходящий будет класс XmlTextWriter. Однако, если необходимо создавать документ XML постепенно, вставляя узлы в различные места, то наиболее приемлемым будет применение XmlDocument. Вот тот же пример, который только что был рассмотрен, но вместо редактирования текущего документа мы создаем новый документ ( DOMSample4):

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

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


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

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




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


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


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

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