преобразование в XML

Скрыть

Показать

Копировать
  Main.cs  
using System;
 
//добавить ссылку
using System.Linq;
using System.Collections.Generic;
//добавить ссылку
//подключить пространство имен
using System.Xml;
using System.Xml.Linq;
 
class Book {
 public int IDBook {set; get;}
 public string Name {set; get;}
 public string Author {set; get;}
 public int Amount {set; get;}
 public decimal Price {set; get;}
}
 
class Program {
 public static int Main() {
 
  //источник данных
  List<Book> ara = new List<Book>() {
   new Book() {
    IDBook = 1,
    Name = "Евгений Онегин",
    Author = "Пушкин А.С.",
    Amount = 10,
    Price = 10.15m
   },
   new Book() {
    IDBook = 2,
    Name = "Мертвые души",
    Author = "Гоголь Н.В.",
    Amount = 20,
    Price = 20.25m
   },
   new Book() {
    IDBook = 3,
    Name = "Мцыри",
    Author = "Лермонтов М.Ю.",
    Amount = 30,
    Price = 30.35m
   }
  };
 
  //создание запроса
  var query = new XElement("books", 
   from val in ara
   let x = String.Format("{0}", val.IDBook)
   select new XElement("book",
    new XAttribute("IDBook", x),
    new XAttribute("Name", val.Name),
    new XAttribute("Author", val.Author),
    new XAttribute("Amount", String.Format("{0}", val.Amount)),
    new XAttribute("Price", String.Format("{0}", val.Price))
   )
  );
 
  //выполнение запроса
  Console.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
  Console.WriteLine(query);
 
  Console.ReadKey();
  return 0;
 }
}
 
<?xml version="1.0" encoding="utf-8" ?>
<books>
 <book IDBook="1" Name="Евгений Онегин" Author="Пушкин А.С." Amount="10" Price="10,15" />
 <book IDBook="2" Name="Мертвые души" Author="Гоголь Н.В." Amount="20" Price="20,25" />
 <book IDBook="3" Name="Мцыри" Author="Лермонтов М.Ю." Amount="30" Price="30,35" />
</books>