Estoy tratando de analizar XML con Python, pero no llegar muy lejos. Creo que se debe al árbol XML incorrecto que devuelve esta API.xml.parsers.expat.ExpatError al analizar XML
Así que esto es lo que es devuelto por la solicitud GET:
<codigo>3</codigo><valor></valor><operador>Dummy</operador>
La petición GET va aquí:
http://69.36.9.147:8090/clientes/SMS_API_OUT.jsp?codigo=ABCDEFGH&cliente=XX
Este es el código Python que estoy usando sin ninguna suerte:
import urllib
from xml.dom import minidom
url = urllib.urlopen('http://69.36.9.147:8090/clientes/SMS_API_OUT.jsp?codigo=ABCDEFGH&cliente=XX')
xml = minidom.parse(url)
code = doc.getElementsByTagName('codigo')
print code[0].data
Y esta es la respuesta que recibo:
xml.parsers.expat.ExpatError: junk after document element: line 1, column 18
Lo que necesito hacer es recuperar el valor dentro del elemento <codigo>
y colocarlo en una variable (lo mismo para los demás).
¿No debería ser eso "code = xml.getElementsByTagName ..."? – Svante
Vaya, sin embargo, la secuencia de comandos falla cuando se trata de analizar. Como Greg señaló por un XML no válido, sin embargo no puedo controlar el contenido del XML ... – mistero
aún no estoy tan en minidom, pero no puedo encontrar ningún lugar en la documentación que diga que un nodo elemento tiene una variable de datos. los objetos de comentario tienen eso, pero eso no es un comentario. ¿No deberías estar usando nodeValue? – Victor