The file 'sample.xml' is:
<?xml version="1.0"?>
<SampleRoot>
<Header>
<Product>FindMystery</Product>
</Header>
<SpecificInformation>
<SampleDetail>abc</SampleDetail>
</SpecificInformation>
</SampleRoot>
from elementtree.ElementTree import ElementTree
doc = ElementTree(file='sample.xml')
iterList = doc.getiterator()
iterList [<Element SampleRoot at 1166850>, <Element Header at 1166878>, <Element
Product at 11668a0>, <Element SpecificInformation at 1166940>, <Element
SampleDetail at 1166990>] len(iterList) 5 element = iterList[4]
element.tag 'SampleDetail' x = doc.find('SampleDetail')
if x == None: .... print 'x is none'
....
x is none
The ElementTree documentation indicates that:
"find(pattern) returns the first subelement that matches the given
pattern, or None if there is no matching element."
and
"the pattern argument can either be a tag name, or a path expression"
Based on the following snippet from the interactive window:
doc = ElementTree(file='sample.xml')
iterList = doc.getiterator()
element = iterList[4]
element.tag 'SampleDetail'
I inferred (perhaps incorrectly) that within doc there is a subelement
with a tag 'SampleDetail'.
Based on the following snippet:
x = doc.find('SampleDetail')
if x == None:
.... print 'x is none'
....
x is none
I conclude that there is no subelement in doc with a tag
'SampleDetails'.
My questions:
1) in the example above is there a subelement of doc with a tag
'SampleDetails'?
2) if so, what is the proper way of writing the call to the find()
method to locate that subelement?