Pues otra cosa más solucionada. El tema está en que al crear el archivo con fso lo crea con tipo ANSI y no como UTF-8, por lo tanto hay que hacerlo con ADODB.Stream. De esta forma lo guarda con formato UTF-8 y después no da problemas a la hora de leerlo.
Dejo el código para quien lo pueda necesitar:
Código ASP:
Ver original<%
Set objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
objSrvHTTP.open "GET", "http://www.dominio/temas/categoria/feed/", false
objSrvHTTP.send()
Feed = objSrvHTTP.responseXML.xml
const adTypeBinary = 1
const adSaveCreateOverwrite = 2
const adModeReadWrite = 3
Set objStream = server.CreateObject("ADODB.Stream")
objStream.Open
objStream.CharSet = "UTF-8"
objStream.WriteText(feed)
objStream.SaveToFile server.mappath("./tmp/")& "/xml_wm2.xml" , adSaveCreateOverWrite
objStream.Close
set objXml = server.CreateObject("MSXML2.DOMDocument")
objxml.async = false
objxml.load(server.mappath("./tmp/xml_wm2.xml"))
' Gestion de errores
if objxml.parseError.errorCode <> 0 Then
response.Write("Error de Lectura (Por favor, ponerse en contacto con el webmaster).<br />FilePos: " & objxml.parseError.filepos & "<br /> Línea: " & objxml.parseError.Line & "<br /> Causa: " & objxml.parseError.reason & "<br /> Ocurrió en: " & objxml.parseError.srcText & "<br /> Archivo: " & objxml.parseError.URL)
response.End()
end if
numNoticias = objxml.selectSingleNode("/rss/channel").childNodes.length
if numNoticias <= 5 then
numnoticias = 0
else
for n = 9 to 13
i=0
j=0
while j=0
if objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).tagname = "title" then
response.write "titulo = " & objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).text
j=1
end if
i=i+1
wend
i=0
j=0
while not j<>0
if objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).tagname = "link" then
response.write "<br>enlace = " & objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).text
j=1
end if
i=i+1
wend
i=0
j=0
while not j<>0
if objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).tagname = "description" then
response.write "<br>Resumen = " & objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).text
j=1
end if
i=i+1
wend
i=0
j=0
while not j<>0
if objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).tagname = "content:encoded" then
response.write "<br><br>Total = " & objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(i).text
j=1
end if
i=i+1
wend
response.write "<br><br>"
next
end if
%>