嘿。我试图找到一种方法,但我做不到,我用python建立了一个xml.sax解析器,当我读取本地文件(例如calendar.xml)时,它工作得很好,但我需要从web地址读取一个xml文件。
我想如果我这样做会管用的:
toursxml='http://api.songkick.com/api/3.0/artists/mbid:'+mbid+'/calendar.xml?apikey=---------'
toursurl=urllib2.urlopen(toursxml)
toursurl=toursurl.read()
parser.parse(toursurl)
但事实并非如此。我肯定有一个简单的方法,但我找不到。
所以是的,我可以很容易地转到url下载文件并通过
parser.parse("calendar.xml")
为了解决这个问题,我设置了读取文件并在本地创建文件,关闭文件,然后读取它。但正如你所能猜到的,它慢得要命。
有人可以直接读取xml吗?还要注意,url名称没有以“.xml”结尾,所以以后可能会出现问题
希望xyz是一个文件;您正在查找
它期望xyz是一个包含XML的字符串。
首先,你的例子混淆了。请不要重复使用变量。
将整个文件读入名为
toursurl_string
的字符串。要解析字符串,可以使用
parseString(toursurl_string)
方法。http://docs.python.org/library/xml.sax.html#xml.sax.parseString
如果你想结合阅读和解析,你必须传递“流”或文件名来解析。
相关问题 更多 >
编程相关推荐