XML 动态站点地图 asp.net
XML dynamic SiteMap asp.net
我尝试使用 Asp.net 制作动态站点地图。我正在使用 XML 文件写入其中是
<?xml version="1.0" encoding="utf-8"?>
<urlset>
</urlset>
和 Article.aspx 的代码背后有 url
string xmlpath = @"~/data.xml";
var path = Server.MapPath(xmlpath);
XDocument doc = XDocument.Load(path);
XElement root = new XElement("url");
root.Add(new XElement("loc", url));
root.Add(new XElement("lastmod", DateTime.Now.ToString("yyyy-MMdd")));
root.Add(new XElement("lastmod", "daily"));
root.Add(new XElement("priority", "1.0"));
doc.Element("urlset").Add(root);
doc.Save(path);
此代码运行良好,我正确地获取了 XML 文件问题是 Google 搜索控制台需要我将 xmlns nameSpace 添加到 urlset 元素,因此它必须是这样的:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
</urlset>
当我将 NameSpace xmlns 添加到 <urlset>
标记时,我收到此错误:
object reference not set
我喜欢通过解析字符串来创建新的 XDocument,尤其是当您有名称空间时
string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">" +
"</urlset>";
XDocument doc = XDocument.Parse(xml);
XElement urlset = doc.Root;
我在 Microsoft 社区找到了 "madreflection" 提到的答案
后面的代码:
XNamespace aw = "http://www.sitemaps.org/schemas/sitemap/0.9";
doc.Element(aw + "urlset").Add(root);
我的 XML 文件是
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
</url>
</urlset>
我尝试使用 Asp.net 制作动态站点地图。我正在使用 XML 文件写入其中是
<?xml version="1.0" encoding="utf-8"?>
<urlset>
</urlset>
和 Article.aspx 的代码背后有 url
string xmlpath = @"~/data.xml";
var path = Server.MapPath(xmlpath);
XDocument doc = XDocument.Load(path);
XElement root = new XElement("url");
root.Add(new XElement("loc", url));
root.Add(new XElement("lastmod", DateTime.Now.ToString("yyyy-MMdd")));
root.Add(new XElement("lastmod", "daily"));
root.Add(new XElement("priority", "1.0"));
doc.Element("urlset").Add(root);
doc.Save(path);
此代码运行良好,我正确地获取了 XML 文件问题是 Google 搜索控制台需要我将 xmlns nameSpace 添加到 urlset 元素,因此它必须是这样的:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
</urlset>
当我将 NameSpace xmlns 添加到 <urlset>
标记时,我收到此错误:
object reference not set
我喜欢通过解析字符串来创建新的 XDocument,尤其是当您有名称空间时
string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">" +
"</urlset>";
XDocument doc = XDocument.Parse(xml);
XElement urlset = doc.Root;
我在 Microsoft 社区找到了 "madreflection" 提到的答案 后面的代码:
XNamespace aw = "http://www.sitemaps.org/schemas/sitemap/0.9";
doc.Element(aw + "urlset").Add(root);
我的 XML 文件是
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
</url>
</urlset>