【问题标题】:Where to store xml static string in .net core webapi project在.net core webapi项目中存储xml静态字符串的位置
【发布时间】:2025-12-03 14:15:01
【问题描述】:

我有几个用作 API 查询的 XML 字符串。 我想将它们存储在我的 .NET Core webapi 项目中的静态文件中。 尝试将它们存储在 appsettings.json 中,使用逗号作为分隔符或在行之间使用“+”,导致在应用程序启动时出现“无法解析 JSON 文件”错误。 我在哪里可以存储 XML 字符串?我希望它们位于静态文件中,以便在部署后也可以控制和查看它们。 这是我的 XML 字符串的示例:

<fetch mapping="logical" distinct="true">
  <entity name="xxx">
    <attribute name="yyyy" />
  </entity>
</fetch>

【问题讨论】:

  • Where can I store the XML string ? 为什么不直接将其存储为 xml 文件并在您的 api 操作中从该文件中读取数据?
  • @FeiHan - 这也是一个选项。使用正在运行的程序集详细信息定位和访问 XML 文件的最佳做法是什么?

标签: xml asp.net-core static-files


【解决方案1】:

如果您将其作为 xml 文件直接存储在 Web API 项目中的文件夹下,以通过控制器操作访问它,您可以尝试:

IWebHostEnvironment 注入到控制器的构造函数中

private IWebHostEnvironment _env;

public ValuesController(IWebHostEnvironment env)
{
    _env = env;
}

在控制器动作中

public IActionResult Get()
{
    var filepath = Path.Combine(_env.ContentRootPath, @"XmlFiles\" + "test.xml");

    //code logic here

    return Ok();
}

项目的结构可能是这样的

【讨论】:

    最近更新 更多