Blog
home > blog > Vb.net, creare una data in formato W3C per una sitemap

Tag: Programmazione, .Net, W3C, sitemap

Vb.net, creare una data in formato W3C per una sitemap

Per creare una sitemap.xml occorre inserire le date nel formato definito dal W3C, che non è nativo in .net. Vediamo un modo semplice per generarle.
di Maurizio Ceravolo
Penso che questo sia un problema che ogni programmatore .net abbia affrontato ogni volta che abbia cercato di generare una sitemap. Le date in formato W3C.

Per chi non lo sapesse la sitemap è un semplice file xml che risiede (o meglio che dovrebbe risiedere) nella sitemap di ogni sito per facilitare l'indicizzazione da parte dei motori di ricerca. Le sitemap sono adottate dai principali motori di ricerca, in particolare da Google, da Yahoo e da Bing. Il protocollo è molto semplice ed è facile da implementare. L'unica cosa particolare in effetti è il modo in cui è richiesto siano scritte le date.

Vediamo un xml di esempio tratto dal sito ufficiale della sitemaps:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      <loc>http://www.esempio.it/sitemap1.xml.gz</loc>
      <lastmod>2004-10-01T18:23:17+00:00</lastmod>
   </sitemap>
   <sitemap>
      <loc>http://www.esempio.it/sitemap2.xml.gz</loc>
      <lastmod>2005-01-01</lastmod>
   </sitemap>
</sitemapindex>

Come vedete nel primo nodo sitemap, c'è un tag lastmod che indica la data di ultima modifica della file indicato nel tag loc. La data può essere scritta con o senza orario. Senza orario il formato è molto semplice da ottenere basta un codice del tipo

DataUltimaModifica.ToString("yyyy-MM-dd")

Ma per ottenere il formato con l'orario, non abbiamo nessuna primitiva .net che ci permetta di ottenere il risultato voluto. Occorre metterci un pochino le mani, ma sapendo come, è altrettanto semplice. Vediamo come:

DataUltimaModifica.ToUniversalTime.ToString("u").Replace(" ", "T"))

In pratica con il metodo ToUniversalTime otteniamo quasi quello che ci serve. Il problema è che la dato e l'orario sono separati da uno spazio. E quindi noi sostituiamo lo spazio con la T richiesta dal formato, per ottenere il risultato voluto.

Happy coding. :-)
Post correlati
2011
20
Giugno
Facebook rilascia l'SDK c#
Maurizio Ceravolo
Facebook ha appena rilasciato l'SDK ufficiale per sviluppare applicazioni che si interfacciano con Facebook utilizzando il c#.
2010
13
Ottobre
Inviare fax da una applicazione usando .net
Maurizio Ceravolo
Descrizione di due opzioni per mandare fax attraverso una proprio applicazione: collegandosi ad un servizio esterno o usando WinFax in interoperabilità
2011
15
Febbraio
.net: instanziare un web service con certificato scaduto
Maurizio Ceravolo
Richiamare un web service sotto https con certificato scaduto porta l'applicazione a sollevare un eccezione. Vediamo come ignorarla e fruire lo stesso del servizio.
2011
19
Aprile
Cambiare l'indirizzo del proprio sito senza penalizzare il pagerank
Maurizio Ceravolo
Quando si decide di spostare il proprio sito ad un altro indirizzo occorre fare alcune operazioni per non perdere il pagerank guadagnato con tanto lavoro.
2011
25
Febbraio
Realizzare un Eval in .net
Maurizio Ceravolo
Vediamo come implementare una funzione di Eval come quella del Javascript per valutare espressioni aritmetiche in .net. È molto facile.


Archivio Mensile Blog
Tag Cloud
Apple community digital divide Electronic Arts evoluzionismo digitale Facebook geek Google Google+ humor innovazione intervista marketing Microsoft NASA Programmazione social network video videogiochi Windows Phone 7
Ultimi Post
I migliori di oggi
I più popolari del mese
Top post