Can't find elements using ElementTree find method
Stefan Behnel
stefan_ml at behnel.de
Tue Aug 31 05:00:41 EDT 2010
More information about the Python-list mailing list
Tue Aug 31 05:00:41 EDT 2010
- Previous message (by thread): Can't find elements using ElementTree find method
- Next message (by thread): Saving (unusual) linux filenames
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Brendan Simon (eTRIX), 31.08.2010 10:49: > 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' ) "." matches the current element, so the path expression looks for all "components" nodes *below* the current element. You can either wrap the root in an ElementTree and search globally (i.e. without the leading "."), or you can test the root node yourself. Stefan
- Previous message (by thread): Can't find elements using ElementTree find method
- Next message (by thread): Saving (unusual) linux filenames
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list