Вместо ElementTree следует использовать l xml, который имеет getpath метод.
Пример: в качестве источника XML Я использовал:
txt ='''<main>
<x>
<a>
<ExpertSettingsSg id="1">x1</ExpertSettingsSg>
</a>
<b>
<dummy>xxxx</dummy>
</b>
</x>
<y>
<c>
<dummy>xxxx</dummy>
</c>
<d>
<ExpertSettingsSg id="2">x2</ExpertSettingsSg>
</d>
<e>
<ExpertSettingsSg id="3"/>
</e>
</y>
</main>'''
Код:
from lxml import etree as et
tree = et.fromstring(txt)
root = tree.getroottree()
for node in root.findall('.//ExpertSettingsSg'):
tt = node.text
if tt is not None:
print(node.attrib['id'], tt, root.getpath(node))
Результат:
1 x1 /main/x/a/ExpertSettingsSg
2 x2 /main/y/d/ExpertSettingsSg