Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание XML-документа методами классов пространства

Поиск

имен System.Xml.Linq

Кроме пространства имен System.Xml, содержащего классы для обработки XML-документов, в Visual С#2010 имеем пространство имен System.Xml.Linq, содержащее классы, которые позволяют легко и эффективно изменять документы XML, а также организовывать LINQ-запросы. В данном примере оформим сведе­ния о наших повседневных телефонных контактах в XML-документ. Этот доку­мент будет иметь интуитивно понятную структуру: имя контакта, домашний и мо­бильный телефоны. Создав такой XML-документ и получив соответствующий XML-файл, его очень удобно просмотреть в MS Excel в виде таблицы, содержащей три столбца: имя контакта, домашний телефон и мобильный. Попутно обсудим структуру XML-документа.

Итак, запустим среду Visual Studio 2010, выберем проект шаблона Console Ap­plication, укажем имя Name — LinqСоздатьXML-документ. Затем на вкладке про­граммного кода введем текст, представленный в листинге 19.5.

Листинг 19.5. Создание XML-документа представляющего телефонную книгу.

// Программа создает типичный XML-документ. С ее помощью можно разобраться в

// структуре XML-документа. В комментариях приведена терминология содержимого

// XML-документа: корневой элемент, вложенные элементы, имя элемента и его

// значение, а также атрибуты элемента, их имена и значения.

// XML-документ представляет телефонную книгу, содержащую имя контакта, номер

// домашнего телефона, а также мобильного. Программа после создания XML-документа

// отображает его на консоли, а также записывает его в файл. Если этот файл открыть

// с помощью MS Excel, то мы получим таблицу из трех столбцов.

using System;

using System.Xml.Linq;

// Другие директивы using удалены, поскольку они не используются в данной программе

namespace LinqСоздатьXML_документ

{

class Program

{

static void Main(string[] args)

{

Console.Title = "Корневой элемент XML-документа";

// Создаем новый XML-документ:

XDocument XMLдокумент = new XDocument(

// Комментарий в XML-документе:

new XComment("Телефонная_книга - это корневой элемент XML-документа:"),

new XElement("Телефонная_книга", // - имя корневого элемента

 

new XComment("Элемент СТРОКА содержит атрибут Контакт и два вложенных элемента"),

new XElement("СТРОКА", // - имя (Name) элемента

new XAttribute("Контакт", "Олег"),

new XElement("Домашний_телефон", "236-23-67"), // - имя элемента и его значение

new XElement("Мобильный_телефон", "+7(495)625-31-43")),

 

new XComment("Атрибут Контакт имеет значение 'Прогноз погоды':"),

new XElement("СТРОКА",

new XAttribute("Контакт", "Прогноз погоды"), // - атрибут элемента СТРОКА

new XElement("Домашний_телефон", "001"),

new XElement("Мобильный_телефон", "")), // - имя элемента и его зачение (Value)

 

new XComment("Поскольку каждый элемент Контакт имеет атрибут и два вложенных=>"),

new XElement("СТРОКА",

new XAttribute("Контакт", "Борис Григорьевич"), // - имя атрибута - Контакт

new XElement("Домашний_телефон", "402-12-45"),

new XElement("Мобильный_телефон", "+7(495)536-79-94")),

 

new XComment("=> элемента, в MS Excel отобразится таблица с тремя колонками"),

new XElement("СТРОКА",

new XAttribute("Контакт", "Света"), // - значение атрибута - Света

new XElement("Домашний_телефон", ""),

new XElement("Мобильный_телефон", "+7(495)615-24-41")))

);

// Сохранить XML-документ:

XMLдокумент.Save(@"C:\Зиборов.XML");

Console.WriteLine(XMLдокумент);

Console.ReadKey();

}

}

}

 

Чтобы понять текст программы, рассмотрим структуру полученного XML- файла, а для этого откроем этот файл с помощью Internet Explorer (рис. 19.5).

Здесь весь XML-документ вложен в так называемый корневой элемент между начальным тегом <Телефонная_книга> и конечным тегом </Телефонная_книга>. Четыре элемента СТРОКА вложены в корневой элемент. В соответствующей таблице MS Excel элементы СТРОКА будут представлять строку в таблице. В свою очередь элемент СТРОКА содержит в себе атрибут Контакт и два вложенных в него элемента, имена (Name) которых— Домашний_телефон и Мобильный_телефон. Именно поэтому в MS Excel отобразится таблица с тремя колонками (один атрибут и два элемента): "Контакт", "Домашний_телефон" и "Мобильный_телефон".

Элемент может иметь один или несколько атрибутов (а может и не иметь, как, скажем, элемент Домашний_телефон), например, первый элемент СТРОКА имеет ат­рибут с именем (Name) Контакт и со значением атрибута (Value) — 001.

После запуска данной программы будет выведено на консоль содержимое XML-документа (без XML-объявления), а также будет создан XML-файл. Открыв этот файл с помощью MS Excel, получим таблицу телефонных контактов (рис. 19.6).

 

 

Рисунок 19.5 - XML-файл, открытый в Internet Explorer

 

Рисунок 19.6 - XML-файл, открытый в MS Excel

Убедиться в работоспособности программы можно, открыв решение LinqСоздатьXML-документ.sln папки LinqСоздатьXML-документ.



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 408; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.168.71 (0.008 с.)