Non c'è cosa più semplice, ho inserito gli items in un array ed ho avviato un ciclo per la ricerca del valore richiesto.
Ti ho scritto una semplice funzione totalmente commentata per capirne il funzionamento e con test incluso, l'ho anche provata, fammi sapere se è tutto ok.
Bye 
codice:
<%
'Funzione per il recupero del nome file data l'estensione
Function getFilename(theString, theType)
Dim saryItems
Dim intLoop
Dim strField
'Elimino i tag di apertura e di chiusura
If InStr(theString, "<media><item>") > 0 Then theString = Replace(theString, "<media><item>", "")
If InStr(theString, "</item></media>") > 0 Then theString = Replace(theString, "</item></media>", "")
'Inserisco i vari campi in un array
If theString <> "" Then saryItems = Split(theString, "</item><item>")
'Avvio un ciclo per la ricerca del file richiesto
For intLoop = LBound(saryItems) To UBound(saryItems)
If Right(saryItems(intLoop), Len(theType) + 1) = "." & theType Then
getFilename = Left(saryItems(intLoop), Len(saryItems(intLoop)) - Len(theType) -1)
End If
If getFilename <> "" Then
Exit For
End If
Next
End Function
%>
<%
Dim strCampo
Dim strExt
'Controllo se sono giunti dati
If Request.TotalBytes > 0 Then
Response.Write("<div style=""border: 1px solid #000; background-color: #C9C9C9; margin-bottom: 20px; padding: 10px;"">" & vbCrLf & vbCrLf)
strCampo = Request.Form("campo")
strExt = Request.Form("ext")
If strExt = "" Then
Response.Write("Hai dimenticato di inserire l'estensione")
ElseIf strCampo = "" Then
Response.Write("Hai dimenticato di inserire il campo")
Else
Response.Write("Risultato: " & getFilename(strCampo, strExt))
strCampo = ""
strExt = ""
End If
Response.Write(vbCrLf & vbCrLf & "</div>" & vbCrLf)
End If
%>
<form method="post">
Estensione
<input type="text" name="ext" style="width: 40px;" value="<% = strExt %>">
Stringa
<input type="text" name="campo" style="width: 400px;" value="<% = strCampo %>">
<input type="submit" value="invia" />
</form>