# Leer xml desde https con access

[Inicio](https://www.todoexpertos.com/) › [Microsoft Access](https://www.todoexpertos.com/temas/microsoft-access) › [Bases de datos](https://www.todoexpertos.com/temas/bases-de-datos) › [XML](https://www.todoexpertos.com/temas/xml)

- Fecha de publicación: 2018-12-07
- Enlace canónico (HTML): https://www.todoexpertos.com/preguntas/9b8hrv973qaityxo/leer-xml-desde-https-con-access

## Pregunta

*Por juan c.* · 2018-12-07

Tengo una duda y es que yo disponía de modulo de access para calcular distancias con google mapsActualmente han cambiado y hay que añadir la KEY privada.Este es el modulo que uso Function G_DISTANCIA(ORIGEN As String, DESTINO As String) As StringDim MyRequest As XMLHTTP60Dim mydomdoc As DomDocument60Dim distanceNode As ixmldomnodeG_DISTANCIA = 0On Error GoTo exitRouteORIGEN = Replace(ORIGEN, " ", "%20")DESTINO = Replace(DESTINO, " ", "%20")Set MyRequest = New XMLHTTP60MyRequest.Open "GET", "Set MyRequest = New XMLHTTP60"MyRequest.Open "GET", "https://maps.googleapis.com/maps/api/distancematrix/xml?origins=" _& ORIGEN & "&destinations=" & DESTINO & "&mode=driving&language=es-ES&key=KEY_PRIVADA"MyRequest.sendSet mydomdoc = New DomDocument60mydomdoc.LoadXML MyRequest.responseTextSet distanceNode = mydomdoc.SelectSingleNode("//leg/distance/value")If Not distanceNode Is Nothing Then G_DISTANCIA = (distanceNode.Text / 1000) & " km"exitRoute:Set distanceNode = NothingSet mydomdoc = NothingSet MyRequest = NothingEnd FunctionEL problema es que antes cuando el xml era en HTTP no había problema, ahora es HTTPS y me da error en la lectura.Llevo intentando solucionar el error varios días pero no hay manera, alguien con alguna solución.

## Respuestas (1)

### 1. Respuesta aceptada de Sveinbjorn El Rojo
*Fecha: 2018-12-07 · Votos: 2 (+2/-0)*

El xml sigue siendo xml, no tiene nada que ver con la URL del servicio web (http o https). No dices dónde te da error el código anterior, por lo que te pregunto:¿La URL está bien construida? ¿Si antes del myrequest. Send coges esa URL y la llevas al navegador, funciona?Si lo anterior funciona, ¿te carga el XML? ¿Verificaste qué el XML no ha cambiado de estructura y tiene esos nodos que intentas leer?

¿La URL está bien construida? ¿Si antes del myrequest. Send coges esa URL y la llevas al navegador, funciona? La URL construida si esta correcta por eso me saca el xml en el navegador, no consigo que me importe los datos de los KM y en modulo no me da fallo pero tampoco recibo el dato.También tengo que decir, que este Modulo funcionaba a la perfección antes de que pusieran las KEYS_PRIVADASEste es el xml que abre con la url y la key_privada:<DistanceMatrixResponse><status>OK</status><origin_address>Murcia, España</origin_address><destination_address>Madrid, España</destination_address><row><element><status>OK</status><duration><value>13210</value><text>3h 40 min</text></duration><distance><value>404325</value><text>404 km</text></distance></element></row></DistanceMatrixResponse>

Si ese es el xl, el error lo tienes en esta linea:Set distanceNode = mydomdoc.SelectSingleNode("//leg/distance/value")Porque la etiqueta que buscas (lo que te marco en negrita) no existe. Tendrías que cambiarla por algo como:Set distanceNode = mydomdoc.SelectSingleNode("//row/element/distance/value")Es decir, quitar ese "leg" que ahora no está en el XML de respuesta y cambiarlo por el "row/element" que son los nodos donde están distance y value.Tampoco me tiene sentido que tengas esta línea: MyRequest.Open "GET", "Set MyRequest = New XMLHTTP60"

Por otro lado, y como desconozco el XML de la versión anterior, comentarte que si usas el nodo "row/element/distance/text", ya te sale, aunque sin decimales, al distancia en Km y no tienes que hacer la división y añadirle el "Km" por código.

---
*Fuente: [https://www.todoexpertos.com/preguntas/9b8hrv973qaityxo/leer-xml-desde-https-con-access](https://www.todoexpertos.com/preguntas/9b8hrv973qaityxo/leer-xml-desde-https-con-access) — consultado el 2026-10-20. Al citar, enlaza la URL canónica e indica la fecha de consulta.*
