私はこのXMLを持っている:複数の "構成要素" とのpythonのfindAllのみ最初の出現
タグを。
import sys
from xml.etree import ElementTree as et
base="<ss><cod>cod1</cod><measure><m>1</m></measure><constituents><cod>const1</cod><measure><m>2</m></measure><constituents><cod>const1_1</cod><measure><m>3</m></measure><constituents><cod>const3</cod><measure><m>4</m></measure></constituents></constituents><constituents><cod>const1_2</cod><measure><m>3</m></measure><constituents><cod>const3</cod><measure><m>42</m></measure></constituents></constituents></constituents></ss>"
tsString = et.fromstring(base)
ss=tsString.getiterator('ss')
for r in ss:
measure = risp.findall('.//constituents') #(1) get const1, const1_1, const3, const1_2, const3_2, only needed is const1
for c in measure:
measure1 = c.findall('.//constituents') #(2) get const1_1, const3, const1_2, const3_2, only needed are const1_1, const1_2
....
しかしfindall
リターン成分のすべての発生を:私は、各レベルを反復する必要があります。 私は(1)findallは、 "const1"メジャーを返すだけで、(2)は "const1_1"と "const1_2"と "const3_2"と "const3_2"を返します。
2 findall ?