xml - AttributeError: Element instance has no attribute '__float__' in Python -


i error when run script

attributeerror: element instance has no attribute '__float__' 

my code looks this:

def populate():     parsedfiles = minidom.parse('c:\users\user\downloads\new folder\streettrees_arbutusridge.xml')     treelist = parsedfiles.getelementsbytagname('streettree')     alltrees in treelist:         treeid = alltrees.getattribute('treeid')         neighbourhood = alltrees.getelementsbytagname('neighbourhoodname')         commonname = alltrees.getelementsbytagname('commonname')         diameter = alltrees.getelementsbytagname('diameter')[0]         diameter = float(diameter)         streetnumber = alltrees.getelementsbytagname('civicnumber')         street = alltrees.getelementsbytagname('stdstreet')         lat = 0         lon = 0         add_tree(treeid=treeid, neighbourhood=neighbourhood, commonname=commonname,                  diameter=diameter, streetnumber=streetnumber, street=street, lat=0, lon=0) 

i think i'm misinterpreting diameter don't know how fix it.

diameter dom element:

diameter = alltrees.getelementsbytagname('diameter')[0] 

it not directly convertable float, because that's not textual data; want text contained in element:

diameter = alltrees.getelementsbytagname('diameter')[0] diameter = float(diameter.firstchild.nodevalue) 

note w3c dom rather pain work with; may want more pythonic elementtree api instead:

parsedfiles = etree.parse(r'c:\users\user\downloads\new folder\streettrees_arbutusridge.xml') alltrees in parsedfiles.findall('.//streettree'):     treeid = alltrees. attrib['treeid']     neighbourhood = alltrees.findall('neighbourhoodname')     commonname = alltrees.findall('commonname')     diameter = float(alltrees.find('diameter').text)     streetnumber = alltrees.findall('civicnumber')     street = alltrees.findall('stdstreet')     add_tree(treeid=treeid, neighbourhood=neighbourhood, commonname=commonname,              diameter=diameter, streetnumber=streetnumber, street=street,              lat=0, lon=0) 

where assuming various elements looking directly contained in <streettree> element.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -