gpt4 book ai didi

python - python中的xml解析

转载 作者:太空宇宙 更新时间:2023-11-04 10:54:45 25 4
gpt4 key购买 nike

我通过网络获取的 xml 代码如下所示

<?xml version='1.0' ?><liverequestresponse><liverequesttime>180</liverequesttime><livemessage></livemessage></liverequestresponse>

我的 python minidom 代码是

import urllib, urllib2, time
from xml.dom.minidom import parse
response = urllib2.urlopen(req)
the_page = response.read()
#print the_page
dom = parse(response)
name = dom.getElementsByTagNameNS('liverequestresponse')
print name[0].nodeValue

给出了一些错误

print the_page

工作正常

或者如果它们是任何其他比 minidom 更好的库,请告诉我..我更喜欢预装在 Linux 上的那个

更新

错误

Traceback (most recent call last):
File "logout.py", line 18, in <module>
dom = parse(response)
File "/usr/lib64/python2.7/xml/dom/minidom.py", line 1920, in parse
return expatbuilder.parse(file)
File "/usr/lib64/python2.7/xml/dom/expatbuilder.py", line 928, in parse
result = builder.parseFile(file)
File "/usr/lib64/python2.7/xml/dom/expatbuilder.py", line 211, in parseFile
parser.Parse("", True)
xml.parsers.expat.ExpatError: no element found: line 1, column 0

最佳答案

如果您在parse(response) 之前使用response.read,您将已经阅读了响应的内容。第二次调用 response.read(parse 正在执行)将得到一个空字符串。

最简单的解决方案是只删除第一个 response.read 调用。但是如果出于某种原因你真的需要响应字符串,你可以尝试:

import urllib, urllib2, time
import StringIO
from xml.dom.minidom import parse
response = urllib2.urlopen(req)
the_page = response.read()
#print the_page
dom = parse(StringIO.StringIO(the_page))
name = dom.getElementsByTagName('liverequesttime')
text = name[0].firstChild
print text.nodeValue

关于python - python中的xml解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10824298/

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