如何使用XmlWriter编写站点地图文件?

时间:2019-04-03 21:43:04

标签: c# xml sitemap xmlwriter

我正在尝试自动生成站点地图。

我正在尝试生成此xml输出

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
  <url>
    <loc>http://www.example.com/foo.html</loc>
    <lastmod>2018-06-04</lastmod>
  </url>
</urlset>

我有

using (XmlWriter writer = XmlWriter.Create(@"books.xml"))
{
    writer.WriteStartElement("urlset");
    writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
    writer.WriteEndElement();
    writer.Flush();
}

它呈现此<?xml version="1.0" encoding="utf-8"?><urlset

如果我删除它,似乎xmlns会出现问题,

1 个答案:

答案 0 :(得分:1)

使用WriteStartElement的重载article,例如

string ns = "http://www.sitemaps.org/schemas/sitemap/0.9";

然后

writer.WriteStartElement("urlset", ns);
writer.WriteStartElement("url", ns);

以此类推。