Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 513; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.220 (0.006 с.) |