Создать XML-файл таблицы базы данных - PullRequest
0 голосов
/ 11 июля 2019

Я работаю над проектом, который должен создать XML-файл таблицы базы данных со всеми строками и столбцами.Для этого я думаю, что мне нужно запросить таблицу базы данных и что я должен делать, я понятия не имею.Я работаю с ядром asp.net 2 для серверной части API и угловой во внешней части.Мне нужно вернуть ответ в JSON, но данные должны быть как XML.Как я могу это сделать?Я вне логической и технической (кодирующей) помощи.Пожалуйста, порекомендуйте любой код.Также в моей базе данных есть некоторые атрибуты, которые могут быть обнуляемыми.Как мне решить эту проблему?

1 Ответ

1 голос
/ 12 июля 2019

Ниже вы можете обратиться к демонстрации, в которой извлекаются данные из таблицы и сохраняются в файл 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

...