0

我不想将 .XML 文件存储到硬盘驱动器上的某个位置(我需要关心);我希望它存储在项目的 App_Data 文件夹下。

我将需要大量这些,其名称将在运行时计算,例如“ gramps_minority_201509.xml ”、“ hijomio_carta_20151101_20151205.xml ”等。

我想将 DataTables 的内容保存到这些 XML 文件中,然后在呈现页面时从它们中读取(XML 文件内容将填充页面上的网格)。

XML 文件可以在设计时添加到 App_Data 文件夹,方法是从 App_Data 文件夹上下文菜单中选择添加 -> 新项目... -> Visual C# -> 数据,然后从那里的列表中选择“ XML 文件”。

但是,此时您提供了 XML 文件的名称;如前所述,我需要“即时”命名这些,最终会有数千个。

那么如何在代码中创建这些 XML 文件,将 DataTables 的内容保存到它们呢?

更新

或者也许保存到 .json 会更好......

4

1 回答 1

2

我强烈建议您使用 JSON 而不是 XML。使用 JSON 有很多众所周知的好处,我相信您知道。所以我会跳过那个。

为了实现您想要的,您可以使用JSON.NET非常轻松地将您的 DataTable 序列化为 JSON 字符串

public void Get()
{
    string jsonString = JsonConvert.SerializeObject(datatable, Formatting.Indented);

    string path = HttpContext.Current.Server.MapPath("~/App_Data/");

    //Generate a filename with your logic..
    string fileName = string.Concat(Guid.NewGuid().ToString(), ".json");

    //Create the full Path
    string fullPath = System.IO.Path.Combine(path, fileName);

    //Create the json file
    System.IO.File.WriteAllText(fullPath, jsonString);
}
于 2015-12-30T23:00:41.047 回答