C# для профессионалов. Том II - [2]
>/XMLChapter/Sample1
>/XMLChapter/Sample2
>/XMLChapter/Sample3
и т. д. Файлы XML должны находиться в подкаталоге XMLChapter, а код для примеров должен быть в подкаталогах Sample1, Sample2 и т.д. Можно называть каталоги как угодно, но их относительное положение важно. Можно также изменять примеры, чтобы указать желаемое направление. В коде примеров будут сделаны указания, какие строки изменить.
Файл books.xml выглядит следующим образом:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Рассмотрим пример кода, использующего MSXML 3.0 для загрузки окна списка с номерами ISBN из >books.xml
. Ниже записан код, который можно найти в папке >SampleBase1
архива, загружаемого с web-сайта издательства Wrox. Можно скопировать его в Visual Studio IDE или создать новую форму Windows Form с самого начала. Эта форма содержит элементы управления >listbox
и >button
. Оба элемента используют имена по умолчанию >listBox1
и >button1
:
>namespace SampleBase {
> using System;
> using System.Drawing;
> using System.Collections;
> using System.ComponentModel;
> using System.Windows.Forms;
> using System.Data;
Затем включается пространство имен для ссылки на >msxml3.dll
. Помните, что ссылку на эту библиотеку необходимо включать в проект (ее можно найти на вкладке COM диалогового окна Add Reference).
> using MSXML2;
> ///
> /// Краткое описание Form1.
> ///
> public class Form1 : System.Windows.Forms.Form {
> private System.Windows.Forms.ListBox listBox1;
> private System.Windows.Forms.Button button1;
> ///
> /// Необходимая для Designer переменная.
> ///
> private System.ComponentModel.Container components;
Затем объявляется документ DOM на уровне модуля:
> private DOMDocument30 doc;
> public Form1() {
> //
> // Требуется для поддержки Windows Form Designer
> //
> InitializeComponent();
> //
> // TODO: Добавьте любой код конструктора после вызова
> // InitializeComponent
> //
> }
> ///
> /// Очистить все использованные ресурсы.
> ///
> public override void Disposed {
> base.Dispose();
> if (components != null) components.Dispose();
> }
>#region Windows Form Designer создает код
> ///
> /// Необходимый для поддержки Designer метод — не изменяйте
> /// содержимое этого метода редактором кода.
> ///
> private void InitializeComponent() {
> this.listBox1 = new System.Windows.Forms.ListBox();
> this.button1 = new System.Windows.Forms.Button();
> this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top |
> System.Windows.Forms.AnchorStyles.Left) |
> System.Windows.Forms.AnchorStyles.Right);
> this.listBox1.Size = new System.Drawing.Size(336, 238);
> this.listBox1.TabIndex = 0;
> this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);
> this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
> this.button1.Location = new System.Drawing.Point(136, 264);
> this.button1.TabIndex = 1;
> this.button1.Text = "button1";
> this.button1.Click += new System.EventHandler(this.button1_Click);
> this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
> this.ClientSize = new System.Drawing.Size(339, 320);
> this.Controls.AddRange(new System.Windows.Forms.Control[]{this.button1, this.listBox1});
> this.Text = "Form1";
> }
>#endregion
> ///
> /// Главная точка входа для приложения.
> ///
> [STAThread]
> static void Main() {
> Application.Run(new Form1());
> }
Мы хотим взять номер ISBN из >listbox
и, используя простой поиск >XPath
, найти узел книги, который ему соответствует, и вывести текст узла (заглавие книги и цену) в >MessageBox
. Язык пути доступа XML (XPath) является нотацией XML, которая может использоваться для запроса и фильтрации текста в документе XML. Рассмотрим XPath в .NET позже в этой главе. Вот код обработчика событий для выбора записи в окне списка:
> protected void listBox1_SelectedIndexChanged (object sender, System.EventArgs e){
> string srch=listBox1.SelectedItem.ToString();
> IXMLDOMNode nd=doc.selectSingleNode("bookstore/book[@ISBN='" + srch + "']");
> MessageBox.Show(nd.text);
> }
Теперь мы имеем обработчик события нажатия кнопки. Сначала мы загружаем файл >books.xml
— обратите внимание, что если файл выполняется не в папке >bin/debug
или >bin/release
, необходимо исправить соответствующим образом путь доступа:
> protected void button1_Click(object sender, System.EventArgs e) {
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.