ASP.NET MVC Sitemap.xml 错误

ASP.NET MVC Sitemap.xml error

我有一个有效的 sitemap.xml 文件。当我尝试将此文件作为 sitemap.xml 提供时,问题就出现了。我收到以下错误:

This page contains the following errors:

error on line 1 at column 95: Extra content at the end of the document
Below is a rendering of the page up to the first error.

当我从浏览器检查 /sitemap.xml 时,每个元素标签都会添加这个。

<url xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    the rest
</url>

这是我return来自控制器的文件的方式:

XmlDocument xml = new XmlDocument();
xml.Load(@"C:\sitemap.xml");
return Content(xml.DocumentElement.InnerXml, "application/xml");

这是我拥有并尝试 return

的文件示例
<?xml version="1.0" encoding="utf-8"?>
<urlset 
    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
  <url>
    <loc>LINK</loc>
  </url>
  THE REST OF URLS
</urlset>

我试过将 "application/xml" 改为 "text/xml" 但没有解决这个问题。我是不是没有正确使用 XmlDocument,还是没有完全理解 return Content() 会发生什么?

感谢任何帮助。

谢谢

最终解决的问题很简单。

XmlDocument xml = new XmlDocument();
xml.Load(@"C:\sitemap.xml");
return Content(xml.DocumentElement.InnerXml, "application/xml");

改为

XmlDocument xml = new XmlDocument();
xml.Load(@"C:\sitemap.xml");
return Content(xml.DocumentElement.OuterXml, "application/xml");

希望这对以后的人有所帮助。