import xmltodict
import json
import urllib.request
fileIn=urllib.request.urlopen('http://personal.cityu.edu.hk/~dcywchan/1718SemB121COM/client.xml')
byteStr = fileIn.read()
lines=byteStr.decode('utf-8')
dl=xmltodict.parse(lines)
print(json.dumps(dl,indent=4))
newdl=[]
for e in dl['root']['item']:
tmpdl={}
for key,value in e.items():
if key != "@type":
value=value["#text"]
tmpdl.update({key:value})
newdl.append(tmpdl)
#print out dictionary list created
import xml.etree.ElementTree as ET
import urllib.request
fileIn = urllib.request.urlopen("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml")
byteStr = fileIn.read()
dataStr = byteStr.decode('utf-8')
dataTree = ET.fromstring(dataStr)
for element in dataTree[2][0]:
if element.attrib['currency'] == 'HKD':
HKDrate = element.attrib['rate']
print("On " + dataTree[2][0].attrib['time'] + " One euro is " + HKDrate + " HKD (Hong Kong Dollar)")
Rewite program in previous question using xml.etree.ElementTree.