Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

По темі- Вивчення технології LINQ to XML Виконав студент 546 групи Чумаченко Олександр

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 23.11.2024

ОДЕСЬКА НАЦІОНАЛЬНА АКАДЕМІЯ ХАРЧОВИХ ТЕХНОЛОГІЙ

ІНСТИТУТ ХОЛОДУ, КРІОТЕХНОЛОГІЇ ТА ЕКОЕНЕРГЕТИКИ

КАФЕДРА ІНФОРМАЦІЙНИХ СИСТЕМ ТА МЕРЕЖ

З предмету: ТРІС

По темі: «Вивчення технології LINQ to XML»

Виконав студент 546 групи

Чумаченко Олександр

Прийняв:

Шестопалов С.В.

Одеса, 2012

Вариант №8

  1. В Xml документе А провести поиск элемента Address, имеющего атрибут Type со значением «Billing».
  2. Загрузить Xml текст D из строки. Выбрать все элементы p, сразу за которыми следует элемент ul.
  3. Загрузить Xml файл F. Вывести периметр фигуры CUB-А.

XML-документ А

<?xml version="1.0"?>

<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">

 <Address Type="Shipping">

   <Name>Ellen Adams</Name>

   <Street>123 Maple Street</Street>

   <City>Mill Valley</City>

   <State>CA</State>

   <Zip>10999</Zip>

   <Country>USA</Country>

 </Address>

 <Address Type="Billing">

   <Name>Tai Yee</Name>

   <Street>8 Oak Avenue</Street>

   <City>Old Town</City>

   <State>PA</State>

   <Zip>95819</Zip>

   <Country>USA</Country>

 </Address>

 <DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>

 <Items>

   <Item PartNumber="872-AA">

     <ProductName>Lawnmower</ProductName>

     <Quantity>1</Quantity>

     <USPrice>148.95</USPrice>

     <Comment>Confirm this is electric</Comment>

   </Item>

   <Item PartNumber="926-AA">

     <ProductName>Baby Monitor</ProductName>

     <Quantity>2</Quantity>

     <USPrice>39.98</USPrice>

     <ShipDate>1999-05-21</ShipDate>

   </Item>

 </Items>

</PurchaseOrder>

XML-документ D

<Root>

   <p id=""1""/>

   <ul>abc</ul>

   <Child>

       <p id=""2""/>

       <notul/>

       <p id=""3""/>

       <ul>def</ul>

       <p id=""4""/>

   </Child>

   <Child>

       <p id=""5""/>

       <notul/>

       <p id=""6""/>

       <ul>abc</ul>

       <p id=""7""/>

   </Child>

</Root>

XML-документ F

<?xml version="1.0" encoding="utf-8" ?>

<ITEMS>

 <CubeList>

   <Cube name="CUB-A">

     <CubeX currency="CUB-A-X" X="10"/>

     <CubeY currency="CUB-A-Y" Y="25"/>

   </Cube>

   <Cube name="CUB-B">

     <CubeX currency="CUB-B-X" X="25"/>

     <CubeY currency="CUB-B-Y" Y="15"/>

   </Cube>

 </CubeList>

</ITEMS>

Код программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml.Linq;

namespace ConsoleApplication1

{

   class Program

   {

       static void Main(string[] args)

       {

/* Задание 1 */

           XElement root = XElement.Load("../../A.xml");

           IEnumerable<XElement> address =

               from el in root.Elements("Address")

               where (string)el.Attribute("Type") == "Billing"

               select el;

           Console.ForegroundColor = ConsoleColor.DarkYellow;

           Console.WriteLine("Задание 1:");

           Console.ForegroundColor = ConsoleColor.Gray;

           foreach (XElement el in address)

               Console.WriteLine(el);

           

/* Задание 2 */

           // Создание XML-файла из строки

           string _root =

               @"<Root>

                 <p id='1'/>

                 <ul>abc</ul>

                <Child>

                  <p id='2'/>

                  <notul/>

                  <p id='3'/>

                  <ul>def</ul>

                  <p id='4'/>

                </Child>

                <Child>

                  <p id='5'/>

                  <notul/>

                  <p id='6'/>

                  <ul>abc</ul>

                  <p id='7'/>

               </Child>

              </Root>";

           XElement Root = XElement.Parse(_root);

           Root.Save("../../D.xml");

           // Выбор всех элементов p, сразу за которыми следует элемент ul

           XElement doc2 = XElement.Load("../../D.xml");

           IEnumerable<XElement> items =

           from e in doc2.Descendants("p")

           let z = e.ElementsAfterSelf().FirstOrDefault()

           where z != null && z.Name.LocalName == "ul"

           select e;

           Console.ForegroundColor = ConsoleColor.DarkYellow;

           Console.WriteLine("\nЗадание 2:");

           Console.ForegroundColor = ConsoleColor.Gray;

           foreach (XElement e in items)

           Console.WriteLine("id = {0}", (string)e.Attribute("id"));

/* Задание 3 */

           XElement Items =

               new XElement("ITEMS",

                   new XElement("CybeList",

                       new XElement("Cube", new XAttribute("name", "CUB-A"),

                       new XElement("CubeX", new XAttribute("currency","CUB-A-X"), new XAttribute("X","10")),

                       new XElement("CubeY", new XAttribute("currency","CUB-A-Y"), new XAttribute("Y","25"))

                        ),            

                        new XElement("Cube", new XAttribute("name","CUB-B"),

                        new XElement("CubeX", new XAttribute("currency","CUB-B-X"), new XAttribute("X","25")),

                        new XElement("CubeY", new XAttribute("currency","CUB-B-Y"), new XAttribute("Y","15"))

                            )

                       )

                   );

           Items.Save("../../F.xml");

           // Вывод периметра фигуры CUB-A

           XElement Cube = XElement.Load("../../F.xml");

           IEnumerable<XElement> _cube =

               from el in Cube.Descendants("Cube")

               where (string)el.Attribute("name") == "CUB-A"

               select el;

           Console.ForegroundColor = ConsoleColor.DarkYellow;

           Console.WriteLine("\nЗадание 3:");

           Console.ForegroundColor = ConsoleColor.Gray;

           foreach (XElement el in _cube)

           {

               //Console.WriteLine(el);

               var _x = ((int)el.Element("CubeX").Attribute("X"));

               var _y = ((int)el.Element("CubeY").Attribute("Y"));

               var _perimetr = (_x + _y)*2;

               Console.WriteLine("Периметр фигуры = {0}", _perimetr);

           }

          

           Console.ReadLine();

       }

   }

}

Скриншот программы:




1. Сибирский Государственный Технологический Университет Гуманитарный факультет Кафедра экономики и м
2. Например необходимо допросить свидетеля провести экспертизу и т
3. 2311 N 2412 Mg
4. Российский государственный профессиональнопедагогический университет Институт экономики и управления
5. Ставропольский базовый медицинский колледж - Т
6. Детский сад ’143 г.html
7. Сегодня необычный день Алия Сегодня удивительный день Сегодня
8. Testelle ist dort dr~ben Sgen Sie dem Schffner er soll Sie m Rthusmrkt bsetzen
9. на тему Бизнесплан туристского предприятия
10. Улыбка Будды или Внутренняя улыбка.html
11. Правовой лабиринт конкурсно ~ игровая программа Автор- Вершкова Татьяна Владимировна воспитатель МК
12.  ПРЕДМЕТ НАСТОЯЩЕГО ДОГОВОРА 1
13. Знаходження кусково-постійних конфігурацій множин
14. тема защиты имущественных интересов гражданорганизаций и государства является необходимым элементом совре
15. Налоговое законодательство РФ
16. .Физиологическое значение воды2 стр
17. 2. В каком городе Вы проживаете постоянно последние 3 года Волгоград Другой город ~ впишите
18. ТЕМАТИКА Специальность- 080101
19. Доцент кафедры трудового права Лунина Наталья Александровна
20. ИСТОРИЯ ОТЕЧЕСТВА КАК НАУКА