Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание XML-документа методами классов пространстваСодержание книги
Поиск на нашем сайте
имен System.Xml.Linq Кроме пространства имен System.Xml, содержащего классы для обработки XML-документов, в Visual С#2010 имеем пространство имен System.Xml.Linq, содержащее классы, которые позволяют легко и эффективно изменять документы XML, а также организовывать LINQ-запросы. В данном примере оформим сведения о наших повседневных телефонных контактах в XML-документ. Этот документ будет иметь интуитивно понятную структуру: имя контакта, домашний и мобильный телефоны. Создав такой XML-документ и получив соответствующий XML-файл, его очень удобно просмотреть в MS Excel в виде таблицы, содержащей три столбца: имя контакта, домашний телефон и мобильный. Попутно обсудим структуру XML-документа. Итак, запустим среду Visual Studio 2010, выберем проект шаблона Console Application, укажем имя 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 с.) |