Web design and hosting, database, cloud and social media solutions that deliver business results
  • Soluzioni aziendali
    • automazione dei processi robotici
    • Software
    • Servizi database
      • Aggiornamento del server e servizi DBA
      • Integrazione dei dati
      • Power BI
      • Servizi di Datawarehouse
    • Sito Web Design
      • Design del logo
      • Gateway di pagamento
      • Localizzazione e traduzione web
      • Ottimizzazione del sito web
      • Sicurezza del sito
      • Strumenti tecnici
    • Servizi per gli affari
      • Microsoft Azure
      • Servizi Google Cloud
      • Servizi Web Amazon
    • Microsoft Office
    • Servizi di consulenza e gestione dei social media
  • Accademia
    • Il nostro ambiente di prova
    • Imparare a usare i database
      • Le basi
      • Ottieni una query aperta
      • Piano di manutenzione di SQL Server 2008
      • Utilizzo dei dati di SQL Server
      • Utilizzo delle date di SQL Server
      • Utilizzo delle funzioni di SQL Server
      • Utilizzo di SQL Server Pivot-Unpivot
      • Strumenti
    • Imparare il web design
      • Costruire il sistema di gestione dei contenuti di Ousia
      • ASP-NET
      • CSS
      • Utilizzo di JavaScript
    • Usando i social media
      • Chiedere una recensione su Google
      • Dimensioni delle immagini dei social media
      • Modifica di un account Facebook da personale a aziendale
      • Scegliere dove concentrare lo sforzo sui social media
      • Utilizzo dei metadati per impostare le immagini dei social media
    • Imparare a usare il cloud e i servizi informatici
      • Errore dell'utilità di pianificazione 2147943645
      • Richiesta SSL e generazione di file PFX in OpenSSL Simple Steps
  • Chi Siamo
    • Carriere
      • Traduttore inglese-portoghese
      • Traduttore inglese-spagnolo
    • Portfolio
    • Squadra
      • Adrian Anandan
      • Alì Al Amine
      • Ayse Hur
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Suneel Kumar
      • Surya Mukkamala
čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Creazione di una Sitemap XML da SQL Server In ASP NET

Creazione di una Sitemap XML da SQL Server In ASP NET

Introduzione

Nel processo di progettazione del nostro sistema di gestione dei contenuti, sapevamo che sarebbe stato necessario includere un file della mappa del sito per consentire la rapida scoperta dei contenuti da parte dei vari crawler utilizzati dai motori di ricerca.

Poiché il nostro sistema ha già un database dietro di esso, la scelta più ovvia è stata quella di utilizzare questi dati e creare il file in modo dinamico.

Il sistema doveva essere in grado di gestire molte pagine, quindi per la ridondanza integrata abbiamo creato una pagina di indice della mappa del sito che quindi si collega alle mappe del sito.

XML Sitemap Index

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <sitemap>   

  <loc>https://www.claytabase.co.uk/sitemap.xml?Language=EN&Page=1</loc>

  <lastmod>2019-07-17</lastmod>

</sitemap>

<sitemap>

  <loc>https://www.claytabase.co.uk/sitemap.xml?Language=EN&Page=2</loc>

  <lastmod>2019-07-17</lastmod>

</sitemap>

</sitemapindex>

XML Sitemap

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url>

    <loc>https://www.claytabase.co.uk/</loc>

    <lastmod>2013-12-13</lastmod>

    <changefreq>monthly</changefreq>

    <priority>1</priority>

  </url>

  <url>

    <loc>https://www.claytabase.co.uk/About-Us</loc>

    <lastmod>2013-12-09</lastmod>

    <changefreq>monthly</changefreq>

    <priority>1</priority>

  </url>

</urlset>

Come generarlo

Ho suddiviso la generazione del codice in due classi per facilitare la lettura, ma se lo desideri, potrebbe essere combinata.

La generazione è agganciata all'evento di caricamento della pagina, ma è abbastanza semplice.

  • Imposta il tipo di contenuto della risposta come testo/xml e la codifica come utf-8
  • Crea un XML Text Writer e inizia a scrivere il documento
  • Crea una connessione SQL utilizzando una stringa di connessione salvata nel file di configurazione web
  • Ottieni tutti i possibili valori dal tuo database e inseriscili in un set di dati per la lettura
  • Scrivi il primo elemento (sitemapindex o urlset), necessario come parte dello standard, e imposta lo schema
  • Avvia un ciclo attraverso il set di dati
    • Scrivi l'elemento require (mappa del sito o URL)
    • Scrivi gli attributi richiesti per ogni elemento
  • Pulisci e chiudi il flusso

Sitemap Index

Imports System.Data

Imports System.Data.SqlClient

Imports System.Xml

Partial Class Generate_SitemapIndex

   Inherits System.Web.UI.Page

   Dim conStr As String = ConfigurationManager.ConnectionStrings("MySqlConnection").ConnectionString

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

       Response.Clear()

       Response.ContentType = "text/xml"

       Response.Charset = "Utf-8"

       Dim xtwFeed As XmlTextWriter = New XmlTextWriter(Response.OutputStream, Encoding.UTF8)

       xtwFeed.WriteStartDocument()

       Using con As New SqlConnection(conStr)

           Dim com As New SqlCommand("SELECT {SitemapUrl},{SitemapModified} FROM {YourDatabase}", con)

           Dim ds As New DataSet, da As New SqlDataAdapter(com)

           con.Open()

           da.Fill(ds)

           xtwFeed.WriteStartElement("sitemapindex")

           xtwFeed.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")

           Dim dr = ds.Tables(0).CreateDataReader

           While dr.Read

               xtwFeed.WriteStartElement("sitemap")

               xtwFeed.WriteElementString("loc", dr.Item(0).ToString) 'OR full URL from your database!

               xtwFeed.WriteElementString("lastmod", dr.Item(1).ToString) 'ISO1806 format date.

               xtwFeed.WriteEndElement()

           End While

           xtwFeed.WriteEndElement()

       End Using

       xtwFeed.WriteEndDocument()

       xtwFeed.Flush()

       xtwFeed.Close()

       Response.End()

   End Sub

End Class

Sitemap

Imports System.Data

Imports System.Data.SqlClient

Imports System.Xml


Partial Class Generate_Sitemap

   Inherits System.Web.UI.Page

   Dim conStr As String = ConfigurationManager.ConnectionStrings("MySqlConnection").ConnectionString

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

       Response.Clear()

       Response.ContentType = "text/xml"

       Response.Charset = "Utf-8"

       Dim xtwFeed As XmlTextWriter = New XmlTextWriter(Response.OutputStream, Encoding.UTF8)

       xtwFeed.WriteStartDocument()

       Using con As New SqlConnection(conStr)

           Dim com As New SqlCommand("SELECT {PageUrl},{PageModified},{PageChangeFreq},{PagePriority} FROM {YourDatabase}", con)

           Dim ds As New DataSet, da As New SqlDataAdapter(com)

           con.Open()

           da.Fill(ds)

           xtwFeed.WriteStartElement("urlset")

           xtwFeed.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")

           Dim dr = ds.Tables(0).CreateDataReader

           While dr.Read

               xtwFeed.WriteStartElement("url")

               xtwFeed.WriteElementString("loc", dr.Item(0).ToString) 'full URL from your database!

               xtwFeed.WriteElementString("lastmod", dr.Item(1).ToString) 'ISO1806 format date.

               xtwFeed.WriteElementString("changefreq", dr.Item(2).ToString) 'daily, weekly, monthly etc

               xtwFeed.WriteElementString("priority", dr.Item(3).ToString) 0.0 to 1.0

               xtwFeed.WriteEndElement()

           End While

           xtwFeed.WriteEndElement()

       End Using

       xtwFeed.WriteEndDocument()

       xtwFeed.Flush()

       xtwFeed.Close()

       Response.End()

   End Sub

End Class

Author

Helpful?

Please note, this commenting system is still in final testing.

Progettazione del sito Web di Claytabase

Questa è una sezione di codice che è stata modificata dal codice di Ousia Content Management System, uno dei sistemi più veloci e ottimizzati sul mercato, parte dei nostri servizi di progettazione di siti web.

altro: reattivo e veloce. Sviluppo Web, Design e Hosting con Content Management System
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

Site Links

RSSLoginLink Cookie PolicyMappa del sito

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom

Partnered With

Le impostazioni di questo sito sono impostate per consentire tutti i cookie. Questi possono essere modificati sulla nostra pagina politica e le impostazioni dei cookie. Continuando a utilizzare questo sito l'utente accetta l'utilizzo dei cookie.
Ousia Logo
Logout
Ousia CMS Loader