Os pongo el código de la página por si pudiera servir de algo porque ya no sé que hacer:
Código PHP:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
'Conectarse a la base
Dim Conn, ConnStr
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
ConnStr = ConnStr & Server.MapPath("data/bodegas.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeReadWrite
Conn.ConnectionString = ConnStr
Conn.Open
'Realizar consulta SQL y obtener Recordset DE Areas Geográficas
Dim strSQLprovincias
strSQLprovincias = "SELECT DISTINCT provincias.* FROM provincias INNER JOIN ciudades ON provincias.iDProvincia = ciudades.ProvinciaCiudad"
Set rsprovincias = Server.CreateObject("ADODB.Recordset")
rsprovincias.Open strSQLprovincias, Conn, 1
dim fso, archivo
Set fso = createobject("scripting.filesystemobject")
Set archivo = fso.CreateTextFile(Server.MapPath("xml/bodegas.xml"), True)
archivo.WriteLine("<?xml version='1.0' encoding='UTF-8'?>")
archivo.WriteLine("<bodegas>")
If rsprovincias.RecordCount = 0 Then
'***no hay provincias con ciudades asociados => xml vacío /***
archivo.WriteLine("</bodegas>")
Else
rsprovincias.MoveFirst
'Bucle Do While #1 - para cada Provincia
Do While Not rsprovincias.EOF
'escribimos el nodo XML
archivo.WriteLine("<provincia pNombre='" & rsprovincias("NombreProvincia") & "' iD='" & rsprovincias("iD") & "'>")
'buscamos las ciudades de la provincia que tengan empresas, sin duplicados: DISTINCT
strSQLciudades = "SELECT DISTINCT ciudades.* FROM ciudades INNER JOIN empresas ON " & _
"ciudades.iDCiudad = empresas.CiudadEmpresa WHERE ciudades.ProvinciaCiudad =" & rsprovincias("iDProvincia")
Set rsciudades = Server.CreateObject("ADODB.Recordset")
rsciudades.Open strSQLciudades, Conn, 1
If rsciudades.RecordCount <> 0 Then
'Bucle Do While #2 - para cada Ciudad
Do While Not rsciudades.EOF
'escribimos el nodo XML
archivo.WriteLine("<ciudad cNombre='" & rsciudades("NombreCiudad") & "' iD='" & rsciudades("iD") & "' X='" & rsciudades("valorX") & "' Y='" & rsciudades("valorY") & "'>")
'buscamos las empresas de la ciudad
strSQLEmpresa = "SELECT empresas.* FROM empresas WHERE CiudadEmpresa=" & rsciudades("iDCiudad")
Set rsEmpresa = Server.CreateObject("ADODB.Recordset")
rsEmpresa.Open strSQLEmpresa, Conn, 1
If rsEmpresa.RecordCount <> 0 Then
'Bucle Do While #3 - datos de cada empresa
Do While Not rsEmpresa.EOF
'escribimos el nodo XML
archivo.WriteLine("<empresa eNombre='" & rsEmpresa("NombreEmpresa") & "' iD='" & rsEmpresa("iD") & "'>" & "<nombre>" & rsEmpresa("NombreEmpresa") & "</nombre>" & "<direccion>" & rsEmpresa("DireccionEmpresa") & "</direccion>" & "<telefono>" & rsEmpresa("TelefonoEmpresa") & "</telefono>")
'cerramos el nodo de cada Representante
archivo.WriteLine("</empresa>")
rsEmpresa.MoveNext
Loop
'cerramos y destruimos el recordset de Representantes
rsEmpresa.Close
Set rsEmpresa = Nothing
End If
'cerramos el nodo de cada País
archivo.WriteLine("</ciudad>")
rsciudades.MoveNext
Loop
'cerramos y destruimos el recordset de Países
rsciudades.Close
Set rsciudades = Nothing
End If
'cerramos el nodo de cada Area
archivo.WriteLine("</provincia>")
rsprovincias.MoveNext
Loop
'cerramos y destruimos el recordset de Areas
rsprovincias.Close
Set rsprovincias = Nothing
'cerramos el nodo principal
archivo.WriteLine("</bodegas>")
archivo.Close
End If
'cerramos la conexión
Conn.Close
Set Conn = Nothing
%>