Lo logré, pero creo que de una forma un poco chapuza, ya que tras un buen rato intentando hacer un lector de xml, no logré nada, decidí simplemente tratar el archivo xml como un archivo de texto plano en el que buscar la etiqueta correspondiente y aislar el valor, eliminando del principio y el final de la cadena la cantidad de caracteres que sé que siempre van a estar ocupando las etiquetas. Dejo aquí el código de un BackgroundWorker que hice para calcular la dirección:
Código vb:
Ver originalDim FileName
Dim FileToDownload
Private LatestVersionFolder As String
Private LatestVersionFile As String
Private UrlDownload
Private Sub FileURLCalculator_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles FileURLCalculator.DoWork
Dim CraftBukkitUrl As String = "http://repo.bukkit.org/content/groups/public/org/bukkit/craftbukkit/"
FileToDownload = CraftBukkitUrl & "maven-metadata.xml"
FileName = "maven-metadata.xml"
wc = New System.Net.WebClient()
AddHandler wc.DownloadProgressChanged, AddressOf OnDownloadProgressChanged
AddHandler wc.DownloadFileCompleted, AddressOf OnFileDownloadCompleted
wc.DownloadFile(New Uri(FileToDownload), Application.StartupPath & "\versions\temp\" & FileName)
Dim xmlfile As Object = System.IO.File.ReadAllLines(Application.StartupPath & "\versions\temp\" & "maven-metadata.xml")
For Each line As String In xmlfile
If line.StartsWith(" <latest>") Then
Dim line2 As String
Dim line2l As Integer
line2 = line.Remove(0, 12)
line2l = line2.Count - 9
line2 = line2.Remove(line2l, 9)
LatestVersionFolder = line2
End If
Next
Dim Url1 As String = CraftBukkitUrl & "/" & LatestVersionFolder & "/" & FileName
wc.DownloadFile(New Uri(Url1), Application.StartupPath & "\versions\temp\" & FileName & "2")
wc.Dispose()
Dim xmlfile2 As Object = System.IO.File.ReadAllLines(Application.StartupPath & "\versions\temp\" & "maven-metadata.xml2")
For Each line As String In xmlfile2
If line.StartsWith(" <value>") Then
Dim line2 As String
Dim line2l As Integer
line2 = line.Remove(0, 15)
line2l = line2.Count - 8
line2 = line2.Remove(line2l, 8)
LatestVersionFile = line2
End If
Next
UrlDownload = CraftBukkitUrl & LatestVersionFolder & "/craftbukkit-" & LatestVersionFile & ".jar"
FileURLCalculator.Dispose()
End Sub