Урок 7. Работаем с XML-файлом

Для работы с XML на платформе.NET существует пространство имен System.Xml. Подсоединим его к созданной нами Windows-программе. Для этого добавим строку

...using System.Xml;

наверху файла.

На форме разместите кнопоку. По нажатии на эту кнопку наша программа выдаст из некого XML-файла все дочернии узлы первого уровня (т. е. вложенные непосредственно в корневой тег).

В обработчике щелчка по кнопке напишите следующий код:

/// <summary> /// Получение всех дочерних элементов. /// </summary> private void button1_Click(object sender, System.EventArgs e) { // Создаем новый xml-документ. XmlDocument xml = new XmlDocument(); // Загружаем в xml-документ xml-файл. xml.Load("1.xml"); // Берем корневой узел (тег) xml-документа. XmlNode d = xml.DocumentElement; // Берем все дочерние теги. XmlNodeList xnl = d.ChildNodes; // Перебираем все дочерние теги. for (int i=0; i<d.ChildNodes.Count; i++) { // Выводим атрибуты тегов. MessageBox.Show(xnl[i].Attributes["text"].Value + " " + xnl[i].Attributes["rustext"].Value); } }

Обратите внимание, что в цикле, перебирающем все дочерние теги, мы выводим значения для их некоторых атрибутов. Разумеется, эти атрибуты должны у указанных тегов существовать.

Теперь займемся нашим xml-файлом. Его надо разместить в той же папке, что и наш exe-файл (или написать полный или относительный путь в методе Load для нашего xml-документа). Xml-файл может выглядеть так:

<?xml version="1.0" encoding="windows-1251"?><item xmlns="http: //127.0.0.1/1.xsd" text="root" rustext="Начало" url="/"> <item text="vc" rustext="Visual C++" url="/vcnet/"> <item text="mfc" rustext="MFC" url="" /> <item text="atl" rustext="ATL" url="" /> <item text="samples" rustext="Примеры" url=""> <item text="lines" rustext="Lines" url="" /> </item> </item> <item text="vbnet" rustext="VB.NET" url="/vbnet/"> <item text="console" rustext="Основы" url="" /> <item text="windows" rustext="Windows" url="" /> </item></item>

Как вы видите, тут несколько тегов, вложенных друг в друга. У нас все теги называются item, хотя это и не принципиально - вложенные теги могут иметь имена, отличные от корневого тега. У наших тегов присутствую атрибуты (text, rustext, url). У каждого атрибута есть некоторое значение.

Теперь запускаем программу. При нажатии на кнопку выведется два последовательных messagebox'а (если, разумеется, вы использовали именно приведенный xml-файл). В первом будет сообщение "vc Visual C++", во втором - "vbnet VB.NET".


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: