Я нашел решение вашего вопроса из примера веб-приложения, через которое я работал.Кредит идет на Мадс Кристенсен .Это очень упрощенная версия того, что вы ищете.Поместите этот код в класс контроллера, такой как HomeController, так же, как вы добавили бы метод действия.
Вот метод, который возвращает XML:
[Route("/sitemap.xml")]
public void SitemapXml()
{
string host = Request.Scheme + "://" + Request.Host;
Response.ContentType = "application/xml";
using (var xml = XmlWriter.Create(Response.Body, new XmlWriterSettings { Indent = true }))
{
xml.WriteStartDocument();
xml.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
xml.WriteStartElement("url");
xml.WriteElementString("loc", host);
xml.WriteEndElement();
xml.WriteEndElement();
}
}
Это приведет к следующему, когдаВы вводите http://www.example.com/sitemap.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
</url>
</urlset>
Надеюсь, это поможет?Если вы также нашли что-то, опубликуйте свое решение как обновление вашего вопроса.