Справка: префикс '' не может быть переопределен с '' на 'http://www.sitemaps.org/schemas/sitemap/0.9' в пределах одного и того же тега элемента запуска

Кажется, я получаю эту ошибку, как я могу ее решить, код ниже.

    Dim writer As XmlWriter = XmlWriter.Create(FileLocation + "StaticUrls3.xml")
    Dim urlList As New List(Of String)

    urlList.Add("link1")
    urlList.Add("link2")
    urlList.Add("link3")       

    writer.WriteStartDocument()
    writer.WriteStartElement("urlset")
    writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")

    For Each aUrl As String In urlList
        writer.WriteStartElement("url")
        writer.WriteElementString("loc", aUrl)
        writer.WriteEndElement()
    Next

    writer.WriteEndElement()
    writer.WriteEndDocument()
    writer.Close()

Ответы

Ответ 1

Попробуйте следующее:

Const siteMapNamespace As String = "http://www.sitemaps.org/schemas/sitemap/0.9"
Dim writer As XmlWriter = XmlWriter.Create(FileLocation + "StaticUrls3.xml")
Dim urlList As New List(Of String)

urlList.Add("link1")
urlList.Add("link2")
urlList.Add("link3")       

writer.WriteStartDocument()
writer.WriteStartElement("urlset", siteMapNamespace)

For Each aUrl As String In urlList
    writer.WriteStartElement("url", siteMapNamespace)
    writer.WriteElementString("loc", aUrl)
    writer.WriteEndElement()
Next

writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()