xml.etree.ElementTree if element does not exist?
Stefan Holdermans
stefan at vectorfabrics.com
Mon Apr 29 07:22:31 EDT 2013
Ombongi,
> however, if i pass xml data that DOES NOT contain sepid element, i get an error:
>
> Traceback (most recent call last):
> File "/usr/local/bin/receive.py", line 21, in <module>
> sepid = content.find(".//{http://www.huawei.com.cn/schema/common/v2_1}sepid").text
> AttributeError: 'NoneType' object has no attribute 'text'
>
>
> some messages i receive will have the sepid parameter, other will not have this parameter. How can i cater for this? kinda like an if .. else implementation for xml.etree.ElementTree ?
What about simply testing whether the value returned by find is None? For example:
$ cat test.py
from xml.etree import ElementTree
myTree = ElementTree.fromstring('<test />')
myElement = myTree.find('orange')
if myElement is None:
print 'tree does not contain a child element "orange"'
else:
print myElement.text
$ python test.py
tree does not contain a child element "orange"
HTH,
Stefan
More information about the Python-list
mailing list