c# - 如何使用 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
如果我删除它似乎有问题,它可以工作。
解决方案
使用重载https://docs.microsoft.com/en-us/dotnet/api/system.xml.xmlwriter.writestartelement?view=netframework-4.7.2#System_Xml_XmlWriter_WriteStartElement_System_String_System_String_WriteStartElement
例如
string ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
接着
writer.WriteStartElement("urlset", ns);
writer.WriteStartElement("url", ns);
等等。
推荐阅读
- web-config - 如果我将现有的 Web 应用程序部署到 Azure,有没有办法自动映射现有的 web.config 设置?
- python - Django Model.objects.create() DB 异常没有过滤
- c# - Powershell 忽略通过 SessionStateProxy.SetVariable 传递的参数
- opencv - 如何从纸(opencv)中提取这6个符号(签名)
- php - PHP - 从 MySQL DB 中填充选择下拉列表,并在表单中自动填充该字段
- android - 更改 MaterialButton 的 BackgroundTint
- android - 如何通过带有 LOOKUP_KEY 的 Uri 使用投影检索联系人号码?
- sequelize.js - 在 Sequelize 中创建新记录,而不在源模型中复制内容
- python - 通过比较python中的现有列表并导出到excel来创建列表
- r - 使用部分字符串匹配从另一个数据帧填充数据帧