我已經閱讀了一些堆棧上的響應,並試圖解決這個問題一段時間。如何從Python中的elementTree使用findall從xml文檔檢索標記的數量
我希望能夠以輸出:
- 具有相同標記的元素(比如foo,酒吧和類型)
- 屬性內的數字(如foobar的)
樣品預計產出(或任何變化:
foo, 1
bar, 2
type, 8
foobar, 10
foobar, 20
我試圖做到這一點不使用root
和child
節點方法。
XML文檔
<first>
<foo>
<bar>
<type foobar="1"/>
<type foobar="2"/>
<type foobar="3"/>
<type foobar="4"/>
</bar>
<bar>
<type foobar="1"/>
<type foobar="2"/>
<type foobar="3"/>
<type foobar="4"/>
</bar>
</foo>
</first>
Python代碼
import xml.etree.ElementTree as ET
fname = 'Library4.xml' # handle
stuff = ET.parse(fname)
for atype in stuff.findall('type'):
print(atype.get('foobar'))
all = stuff.findall('bar')
print('bar', all)
all = stuff.findall('foo')
print('foo', all)
輸出我得到:
bar []
foo [<Element 'foo' at 0x000001E3C71F8B38>]
快樂,以進一步澄清。感謝任何幫助,指出我的錯誤和錯誤。謝謝。
你能否也把你所期望的輸出? –
@ChetanVasudevan是的,我編輯並澄清了我希望得到的輸出。謝謝。 –