Robert Rawlins wrote: > Hello Guys,I have little to no experiance with element tree and I'm > struggling to find a way to parse the details from the XML document > (attached) into my application. Essentialy I'm looking to take the > following document and turn it into a dict of tuples, each dict element > defines a datasource with the key to the element being the 'name' which is > defined in the XML and then the value of the pair is a tuple which contains > the details of the datasource, like the host and port etc.I've attached a > copy of the example XML to this email.Can anyone offer some advice on how > to get started with this? I've spent a little time looking over the > documentation of element tree and have struggled to break the ice and parse > this document.Thanks guys,Robert
Given this document: <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE datasources SYSTEM "datasources.dtd"> <datasources> <datasource> <name>a name</name> <host>localhost</host> <port>3306</port> <database>database1</database> <username>someusername</username> <password>somepassword</password> </datasource> <datasource> <name>another name</name> <host>localhost</host> <port>3306</port> <database>database2</database> <username>itsusername</username> <password>andthepassword</password> </datasource> </datasources> I would do something like this: d = {} for event, element in ET.iterparse("thefile.xml"): if element.tag == "datasource": d[element.find("name")] = tuple([ el.text for el in element ]) Stefan -- http://mail.python.org/mailman/listinfo/python-list