Try using getroot()<http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.ElementTree.getroot>
I think your root is components so its searching in root On Tue, Aug 31, 2010 at 2:19 PM, Brendan Simon (eTRIX) < brendan.si...@etrix.com.au> wrote: > I am trying to use ElementTree (with Python 2.7) and can't seem to find > elements at the top level. The find() and findall() methods seem to find > elements within the top level, but not if it the elements are at the top > level. > > How do I find top level elements ?? > Here is my code. > > import xml.etree.ElementTree as ET > > xml = '''\ > <?xml version="1.0" encoding="Windows-1252" ?> > <components> > <component> > <name>Fred</name> > <location>Australia</location> > </component> > </components> > ''' > > root = ET.fromstring( xml ) > > ### This pattern is not found :( > comps = root.find( './/components' ) > > ### These patterns are found ok :) > comp = root.find( './/component' ) > name = root.find( './/name' ) > > print 'comps =', comps > print 'comp =', comp > print 'name =', name > > > Thanks, Brendan. > > > -- > http://mail.python.org/mailman/listinfo/python-list > > -- Nitin Pawar
-- http://mail.python.org/mailman/listinfo/python-list