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");
希望这对以后的人有所帮助。
我有一个有效的 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");
希望这对以后的人有所帮助。