如何使用Razor页面创建XML(特别是我正在尝试构建sitemap.xml)?
我已经阅读了MSDN Razor Pages简介,但是它仅显示了如何创建HTML页面。当我只使用基本XML(如在Razor中生成动态XML中所示)时,出现了问题...
添加具有以下内容的新“剃刀页面”。
@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>
之前的XML声明@{Layout=null;}
是必不可少的!否则XML解析器将无法正常工作,而这一切都是白费。
奖励:要使/sitemap.xml路由正常工作,您需要添加此路由。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services
.AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Sitemap", "sitemap.xml");
});
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句