Ejercicio
Creador de sitemaps V2
Objetivo
Un "sitemap" es un archivo que los webmasters pueden utilizar para indicar a Google las páginas web en las que se encuentra su sitio, y conseguir un mejor posicionamiento en el buscador.
Debe crear un programa que recibirá como parámetros el nombre de un archivo de texto que contiene las URL, la fecha de modificación y la frecuencia de los cambios:
sitemapCreator urls.txt 2011-11-18 semanalmente
El archivo de texto contendría la lista de los nombres de los archivos a indexar, cada línea en una línea diferente.
Código
Imports System
Imports System.IO
Imports System.Collections.Generic
Class SitemapCreator2
Private Shared Sub Main(ByVal param As String())
If param.Length <> 3 Then
Console.WriteLine("Error number of params.")
Return
End If
Dim file As String = param(0)
Dim date As String = param(1)
Dim frecuency As String = param(2)
Dim ListUrls As List = GetUrls(file)
CreateSiteMap(ListUrls, frecuency, date)
End Sub
Private Shared Sub CreateSiteMap(ByVal listHtml As List, ByVal frecuency As String, ByVal lastUpdated As String)
Try
Dim writer As StreamWriter = New StreamWriter(File.Create("sitemap.xml"))
writer.WriteLine("")
writer.WriteLine("")
For Each html As String In listHtml
writer.WriteLine("")
writer.WriteLine("" & html & "")
writer.WriteLine("" & lastUpdated & "")
writer.WriteLine("" & frecuency & "")
writer.WriteLine("")
Next
writer.WriteLine("")
writer.Close()
Catch
Console.WriteLine("Error writing sitemap.")
End Try
End Sub
Private Shared Function GetUrls(ByVal nameFile As String) As List
Try
Dim reader As StreamReader = New StreamReader(File.OpenRead(nameFile))
Dim line As String = ""
Dim urls As List = New List()
Do
line = reader.ReadLine()
If line IsNot Nothing Then
urls.Add(line)
End If
Loop While line IsNot Nothing
reader.Close()
Return urls
Catch
Console.WriteLine("Error reading file.")
Return Nothing
End Try
End Function
End Class