.net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)

首先设置 Startup.cs 文件

  • 配置 ConfigureServices
            services.AddMvc(options =>{options.RespectBrowserAcceptHeader = true;options.OutputFormatters.Add(new XmlSerializerOutputFormatter());options.FormatterMappings.SetMediaTypeMappingForFormat("xml", Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/xml"));options.FormatterMappings.SetMediaTypeMappingForFormat("config", Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/xml"));options.FormatterMappings.SetMediaTypeMappingForFormat("js", Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"));}).AddXmlSerializerFormatters().AddDataAnnotationsLocalization().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

例子:生成sitemap.xml

  • 返回值 Urlset
using System.Collections.Generic;
using System.Xml.Serialization;namespace MyFramework.Services.Sitemaps.Dtos
{[XmlRoot(Namespace = "http://www.sitemaps.org/schemas/sitemap/0.9")][XmlType("urlset")]public class Urlset{[XmlElement("url")]public List<Url> Urls { get; set; }}
}
using System.Xml.Serialization;namespace MyFramework.Services.Sitemaps.Dtos
{[XmlType("url")]public class Url{public string loc { get; set; }public string priority { get; set; }public string lastmod { get; set; }public string changefreq { get; set; }}
}
  • GetUrlset 方法
using MyFramework.Services.Sitemaps.Dtos;
using System;
using System.Collections.Generic;namespace MyFramework.Services.Sitemaps
{public class SitemapService : ServiceBaseModule, ISitemapService{public Urlset GetUrlset(){var __baseUrl = new List<Url>{new Url{ loc="http://www.mywebsite.com",priority="1.00",lastmod= DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"),changefreq="weekly"},new Url{ loc="http://www.mywebsite.com/Home",priority="1.00",lastmod= DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"),changefreq="weekly"},new Url{ loc="http://www.mywebsite.com/Home/Index.html",priority="1.00",lastmod= DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"),changefreq="weekly"},};for (var i = 0; i < 10; i++){__baseUrl.Add(new Url { loc = "http://www.mywebsite.com/news/news-" + i + ".html", priority = "1.00", lastmod = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"), changefreq = "daily" });}var __urlset = new Urlset{Urls = __baseUrl};return __urlset;}}
}
  • SitemapController Controller
using Microsoft.AspNetCore.Mvc;
using MyFramework.Services.Sitemaps;
using MyFramework.Services.Sitemaps.Dtos;namespace MyFramework.Web.Api.Controllers
{[Route("")][ApiController]public class SitemapController : ControllerBase{#region Initializeprivate readonly ISitemapService _sitemapService;public SitemapController(ISitemapService sitemapService){_sitemapService = sitemapService;}#endregion#region Methods[HttpGet("sitemap.{format}"), FormatFilter]public Urlset GetSitemap(){return _sitemapService.GetUrlset();}#endregion}
}

最终效果如图

转载于:https://www.cnblogs.com/WNpursue/p/11160958.html

.net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)相关推荐

  1. sitemap java_Java动态生成SiteMap.xml,无需插件

    建站以来,试过好多方法实现 sitemap.xml ,从最早的手动更新,到后来每次更新自动写入本地io文件.一方面感觉太零零散散,另外实时的程度不高,再加上好多ZZ引擎,sitemap的要求还能和别人 ...

  2. nuxt 如何生成sitemap.xml 动静态站点地图

    前言 sitemap.xml的作用是将我们网站的所有页面都被SEO(浏览器搜索引擎)收录,我们网站的内容更容易被用户搜到,同时增加我们的网站的知名度,排名更靠前.简言之就是用技术做网站推广,所以对于网 ...

  3. php生成sitemap.xml地图文件

    文章目录 前言 什么是Sitemap? sitemap文件遵循指南 xml格式详解 实战代码 sitemap组件代码 调用sitemap组件 仓库地址 实战截图 相关问题 Sitemap提交后,多久能 ...

  4. SEO优化之根据网址自动生成sitemap.xml文件

    背景: 公司要做一个电商的网站,而该项目是由J2EE架构完成,项目经理说要让Java代码自助每天生成电子商务网站的Sitemap文件,然后开始上网各种查资料!!!然而,终于碰上了本人有生以来第一个在网 ...

  5. vue项目SEO优化以及生成sitemap.xml

    众所周知vue项目本质是单页面项目,对SEO优化十分不好,找起资料来更是麻烦.闲话不多说,分享一下我对自己项目进行的SEO方案及生成sitemap.xml. 需要的库 npm install site ...

  6. 帝国cmssitemap.php,帝国CMS如何自动生成sitemap.xml网站地图

    帝国CMS如何自动生成sitemap.xml网站地图? 步骤:登录网站的后台http://你的域名/e/admin/  进入后台栏目 =>增加自定义页面 =>选择直接页面,页面名称为:网站 ...

  7. Spring MVC Controller 的同一个 URL 请求,根据逻辑判断返回 JSON 或者 HTML 视图

    为什么80%的码农都做不了架构师?>>>    需求 有这样一个需求,用户注册时,对于浏览器终端和非浏览器终端发起的 HTTP 请求,都走同一个 URL:/user/register ...

  8. 织梦html地图模板,织梦DedeCMS网站地图模板sitemap.xml

    在使用dede织梦系统的时候,若想做XML格式的网站地图就必须涉及到三个问题. 1.制作能生成为XML格式的网站地图模板 2.是单页可调用全站更新内容模板 3.可将它放到根目录上.这是dedecms织 ...

  9. python写xml多了ns0_python – SUDS生成的XML不正确

    我正在尝试使用SUDS和 Python与SOAP Web服务进行通信.经过大量学习Python的麻烦(是的,我是新手),并研究如何使用SUDS,我遇到了一个问题. 根据肥皂泡沫,我呼吁的网络方法的签名 ...

最新文章

  1. Django模板过滤器详解
  2. webdriver Google-chrome crashed
  3. selenium webdriver之eclipse java开发环境搭建
  4. Fastdfs-企业级分布式存储应用
  5. 05-cache相关的系统寄存器
  6. cxf整合spring错误为:cvc-complex-type.2.4.c
  7. 如何高效搜索汪子熙公众号发表的文章
  8. 自学Java编程要做好哪些准备?
  9. 阿里13篇论文入选数据库顶会!PolarDB技术被认为引领数据库发展方向
  10. java多线程优秀开源项目_github比较热门的Java开源项目
  11. SQL: 员工薪水中位数
  12. 内网端口映射软件之80端口映射发布网站
  13. Android Studio 导入图片标红错误
  14. 无需ROOT安卓备份Soul应用数据并提取聊天记录
  15. rust队友开挂_腐蚀RUST判断开挂玩家方法说明 怎么识别玩家是否外挂
  16. java表格怎样设置内间距_如何设置表格的间距和背景等属性
  17. PT100热电阻温度传感器 铂热电阻 德国贺利氏 硅胶四氟镀锡屏蔽线
  18. java utill scanner_(转)java.util.Scanner应用详解
  19. 微信小程序获取上一个页面的路由地址
  20. 多旋翼飞行器设计与控制(一)—— 绪论

热门文章

  1. LeetCode 73矩阵置零74搜素二维矩阵75颜色分类
  2. 数据结构于算法—线性表
  3. 使用netty实现一个类似于微信的聊天功能
  4. C++Primer Plus (第六版)阅读笔记 + 源码分析【目录汇总】
  5. [转]查询oracle数据库的数据库名、实例名、ORACLE_SID
  6. 米的换算单位和公式_求小学数学的公式、换算和单位转英文字母(米cm)
  7. 谈谈InnoDB下的记录锁,间隙锁,next-key锁
  8. 计算机系统与网络技术简答题,计算机与网络技术基础 简答题
  9. 阿里云云原生应用平台总经理丁宇:“连接、合作、赋能”,携手加速器伙伴助力企业云上创新
  10. 开源 Serverless 里程碑:Knative 1.0 来了