etree 要素からリストを返す関数がありますが、ネストされた要素を調べません。
<elem>
<variable id="getthis">
<!-- / -->
</variable>
<if>
<variable id="alsoGetThis">
<!-- Keep looping through all elements -->
</variable>
</if>
</elem>
(私はValid XMLで作業しています)
現在、 内の変数<if>
は無視されているため、ツリーのすべてのレベルをループするにはどうすればよいでしょうか? これは簡単な作業だと思いますが、間違っているかもしれません。(私はPythonが初めてで、常にプログラマーのように考えるとは限りません)
変数を取得する Python 関数:
def collect_vars(self, elem):
elemVars = []
if elem.tag == 'variable':
elemVars.append(elem.attrib['id'])
elif e in elem == 'variable': # don't want to be doing these
elemVars.append(e.attrib['id'])
return elemVars
したがって、最終的に必要なのはelemVars
、指定された変数内のすべての変数 ID を含むリストです。<elem>