我正在尝试用 Python 解析 XML,但还没有走得太远。我认为这是由于该 API 返回了错误的 XML 树。
这就是 GET 请求返回的内容:
<codigo>3</codigo><valor></valor><operador>Dummy</operador>
GET 请求在这里:
http://69.36.9.147:8090/clientes/SMS_API_OUT.jsp?codigo=ABCDEFGH&cliente=XX
这是我正在使用但没有任何运气的Python代码:
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
这是我得到的回应:
xml.parsers.expat.ExpatError: junk after document element: line 1, column 18
我需要做的是检索里面的值<codigo>
元素并将其放入变量中(其他相同)。
这里的主要问题是该服务返回的 XML 代码不包含根节点,这是无效的。我通过简单地将输出包装在一个<root>
node.
import urllib
from xml.etree import ElementTree
url = 'http://69.36.9.147:8090/clientes/SMS_API_OUT.jsp?codigo=ABCDEFGH&cliente=XX'
xmldata = '<root>' + urllib.urlopen(url).read() + '</root>'
tree = ElementTree.fromstring(xmldata)
codigo = tree.find('codigo').text
print codigo
您可以使用任何您想要的解析器,但这里我使用 ElementTree 来获取值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)