Ниже вы можете обратиться к демонстрации, в которой извлекаются данные из таблицы и сохраняются в файл XML.
1. Предположим, у меня есть модель Employee
и сопоставлена таблица Employees
в базе данных
public class Employee
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public DateTime DateWhenJoined { get; set; }
}
//In ApplicationDbContext
public DbSet<Employee> Employees { get; set; }
2.Контроллер:
public class EmployeesController : Controller
{
private readonly ApplicationDbContext _context;
public EmployeesController(ApplicationDbContext context)
{
_context = context;
}
public void DownloadToXML()
{
List<Employee> emList = _context.Employees.ToList();
if (emList.Count > 0)
{
var xEle = new XElement("Employees",
from emp in emList
select new XElement("Employee",
new XElement("EmployeeID", emp.Id),
new XElement("CompanyName", emp.Name),
new XElement("DateOfBirth", emp.DateOfBirth),
new XElement("DateWhenJoined", emp.DateWhenJoined)
));
xEle.Save("test.xml");
}
}
}
3.Вызовите действие, и он создаст файл test.xml в вашем корне.
<? xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee>
<EmployeeID>1</EmployeeID>
<CompanyName>Alex</CompanyName>
<DateOfBirth>2019-05-11T03:33:00</DateOfBirth>
<DateWhenJoined>2019-05-12T03:03:00</DateWhenJoined>
</Employee>
<Employee>
<EmployeeID>2</EmployeeID>
<CompanyName>Bob</CompanyName>
<DateOfBirth>0001-01-01T00:00:00</DateOfBirth>
<DateWhenJoined>2019-05-20T00:00:00</DateWhenJoined>
</Employee>
</Employees>
См. https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/xdocument-class-overview