gpt4 book ai didi

python - 解析 XML 时出现 xml.parsers.expat.ExpatError

转载 作者:太空狗 更新时间:2023-10-29 22:06:09 25 4
gpt4 key购买 nike

我正在尝试用 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> 中来解决这个问题节点。

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 来获取值。

关于python - 解析 XML 时出现 xml.parsers.expat.ExpatError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1140672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com