#c# #xml #sitemap #xmlwriter
#c# #xml #Карта сайта #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:
Используйте перегрузку https://learn.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);
и так далее.