Hi Everyone, Thanks for all your suggestions. I read up on gzip and urllib and also learned in the process that I could use urllib2 as its the latest form of that library.
Herewith my solution: I don't know how elegant it is, but it works just fine. def get_contests(): url = ' http://xml.matchbook.com/xmlfeed/feed?sport-id=&vendor=TEST&sport-name=&short-name=Po ' req = urllib2.Request(url) req.add_header('accept-encoding','gzip/deflate') opener = urllib2.build_opener() response = opener.open(req) compressed_data = response.read() compressed_stream = StringIO.StringIO(compressed_data) gzipper = gzip.GzipFile(fileobj=compressed_stream) data = gzipper.read() current_path = os.path.realpath(MEDIA_ROOT + '/xml-files/d.xml') data_file = open(current_path, 'w') data_file.write(data) data_file.close() xml_data = ET.parse(open(current_path, 'r')) contest_list = [] for contest_parent_node in xml_data.getiterator('contest'): contest = Contest() for contest_child_node in contest_parent_node: if (contest_child_node.tag == "name" and contest_child_node.text is not None and contest_child_node.text != ""): contest.name = contest_child_node.text if (contest_child_node.tag == "league" and contest_child_node.text is not None and contest_child_node.text != ""): contest.league = contest_child_node.text if (contest_child_node.tag == "acro" and contest_child_node.text is not None and contest_child_node.text != ""): contest.acro = contest_child_node.text if (contest_child_node.tag == "time" and contest_child_node.text is not None and contest_child_node.text != ""): contest.time = contest_child_node.text if (contest_child_node.tag == "home" and contest_child_node.text is not None and contest_child_node.text != ""): contest.home = contest_child_node.text if (contest_child_node.tag == "away" and contest_child_node.text is not None and contest_child_node.text != ""): contest.away = contest_child_node.text contest_list.append(contest) try: os.remove(current_path) except: pass return contest_list Many thanks! On Tue, May 24, 2011 at 10:26 PM, Brian Bouterse <bmbou...@gmail.com> wrote: > We all have our opinions. Either way this conversation is OT from Django. > > > On Tue, May 24, 2011 at 4:07 PM, Masklinn <maskl...@masklinn.net> wrote: > >> On 2011-05-24, at 21:57 , Brian Bouterse wrote: >> > +1 for xpath >> > >> > I also like using >> > xml.dom.minidom<http://docs.python.org/library/xml.dom.minidom.html >> >since >> > it is so simple and straightforward. >> > >> I'm sorry, but I whole-heartedly disagree with this. ElementTree is orders >> of magnitude simpler and more straightforward than the unending pain of >> working with the DOM interface. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To post to this group, send email to django-users@googlegroups.com. >> To unsubscribe from this group, send email to >> django-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> >> > > > -- > Brian Bouterse > ITng Services > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- Regards, Sithembewena Lloyd Dube -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.