【发布时间】:2018-05-06 11:26:56
【问题描述】:
如何使用 Razor 页面创建 XML(特别是我正在尝试构建 sitemap.xml)?
我已经阅读了 MSDN Introduction to Razor Pages ,但它只展示了如何创建 HTML 页面。当我只使用Generating dynamic XML in Razor 中所示的基本 XML 时,出现问题...
【问题讨论】:
标签: c# .net asp.net-core razor-pages
如何使用 Razor 页面创建 XML(特别是我正在尝试构建 sitemap.xml)?
我已经阅读了 MSDN Introduction to Razor Pages ,但它只展示了如何创建 HTML 页面。当我只使用Generating dynamic XML in Razor 中所示的基本 XML 时,出现问题...
【问题讨论】:
标签: c# .net asp.net-core razor-pages
添加具有以下内容的新 Razor 页面。
@page
<?xml version="1.0" encoding="UTF-8" ?>
@{
Layout = null;
}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
@*Include your static urls*@
<url>
<loc>https://example.com/my-static-page</loc>
</url>
@*Dynamically include pages generated from your database*@
@foreach(var article in articles)
{
<url>
<loc>https://example.com/article/@article.Url</loc>
<lastmod>@article.Modified.ToString("yyyy-MM-dd")</lastmod>
</url>
}
@*You get the idea*@
</urlset>
@{Layout=null;} 之前的 XML 声明是必不可少的!否则 XML 解析器将无法正常工作,这一切都将一事无成。
奖金: 要使路由 /sitemap.xml 正常工作,您需要添加它。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services
.AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Sitemap", "sitemap.xml");
});
}
}
【讨论】: