我尝试通过HTTP请求获得一些XML到服务器,然后使用XML.etree.ElementTree.parse.解析XML
但是,由于某种原因,程序在控制台中输出整个XML,然后阻止输出流。
如果能为解决这个问题提供一些帮助,我们将不胜感激。我发布了用于测试的代码。
import requests
import xml.etree.ElementTree as etree
import sys
TOPCODER_BASE_URL = 'http://community.topcoder.com/tc?module=BasicData&c=dd_round_results&rd='
def getWebsite(url):
response = requests.get(url)
return response.text
def getTopCoderRound(rnd):
response = getWebsite(TOPCODER_BASE_URL + rnd)
return response
def loadData(outputFile):
handleFile = sys.argv[2]
f = open(handleFile, 'r')
outputFile.write ("#opened file")
users = []
for line in f:
users.append(line)
outputFile.write("#added users")
return sys.argv[1], users
outputFile = open('results.txt', 'w')
outputFile.write("reached this point")
roundNo, users = loadData(outputFile)
outputFile.write("#loaded data")
xml = getTopCoderRound(roundNo)
outputFile.write("#read xml")
tree = etree.parse(xml)
outputFile.write("reached this point")
root = tree.getroot()
函数应该将文件作为参数,而不是字符串。这修复了它。