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

стр.

>.
>WriteXmlПереписывает XML и схему из >DataSet в документ XML.
>WriteXmlSchemaПереписывает схему из >DataSet в документ XML.

Необходимо отметить, что эта книга посвящена языку C#, поэтому все примеры будут написаны на C#. Однако пространство имен XML доступно в любом языке, который является частью семейства .NET. Это означает, что все приведенные примеры могли быть также написаны на языках VB.NET, Управляемый C++ и т.д.

XML 3.0 (MSXML3.DLL) в C#

Как быть, если имеется большой объем кода, разработанного с помощью синтаксического анализатора компании Microsoft (в настоящее время XML 3.0)? Придется ли его выбросить и начать все сначала? А что если вам удобно использовать объектную модель XML 3.0 DOM? Нужно ли немедленно переключаться на .NET?

Ответом будет — нет. XML 3.0 может использоваться непосредственно в приложениях. Если добавить ссылку на msxml3.DLL в свое решение, то можно будет начать писать некоторый код.

Следующие несколько примеров будут использовать файл books.xml в качестве источника данных. Его можно загрузить с web-сайта издательства Wrox, он также включен в несколько примеров .NET SDK. Файл books.xml является каталогом книг воображаемого книжного склада. Он содержит такую информацию, как жанр, имя автора, цена и номер ISBN. Все примеры кода в этой главе также доступны на web-сайте издательства Wrox: www.wrox.com. Чтобы выполнить эти примеры, файлы данных XML должны находиться в структуре путей, которая выглядит примерно следующим образом:

>/XMLChapter/Sample1

>/XMLChapter/Sample2

>/XMLChapter/Sample3

и т. д. Файлы XML должны находиться в подкаталоге XMLChapter, а код для примеров должен быть в подкаталогах Sample1, Sample2 и т.д. Можно называть каталоги как угодно, но их относительное положение важно. Можно также изменять примеры, чтобы указать желаемое направление. В коде примеров будут сделаны указания, какие строки изменить.

Файл books.xml выглядит следующим образом:

>

>

>

>  The Autobiography of Benjamin Franklin

>   Benjamin

>   Franklin

>  

>  8.99

>  The Confidence Man

>  

>   Herman

>   Melville

>  

11.99

 

The Gorgias

>  

>   Plato

>  

9.99

>

Рассмотрим пример кода, использующего 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: Добавьте любой код конструктора после вызова