我有一個字符串,它包含從http請求返回的XML數據。Python ElementTree:解析字符串並獲取ElementTree實例
我使用ElementTree解析數據,然後我想要遞歸搜索元素。
據this question,我只能用遞歸搜索result.findall()
如果result
是ElementTree
型的,而不是鍵入Element
。
現在xml.etree.ElementTree.fromstring()
,用於分析該字符串,返回一個Element
對象,而xml.etree.ElementTree.parse()
,用於分析一個文件,返回一個ElementTree
對象。
我的問題是:如何解析字符串並獲得ElementTree
實例?(不喜歡寫到一個臨時文件的任何瘋狂)
我只是想添加 - 對於那些使用lxml的人來說 - 你可以使用getrootttree()方法,在lxml中(即元素總是屬於文檔/樹,即使是隱含的)。 – Steven 2011-12-21 11:12:13
謝謝!在etree中真的很煩人的API設計,根據輸入源具有不同類型的輸出。真的很讓人困惑:( – 2013-03-22 13:43:48
這在文檔中確實不是很清楚。「fromstring()將XML從字符串中直接解析到元素中,這是解析樹的根元素,其他解析函數可能會創建ElementTree。」 – Snorfalorpagus 2013-11-20 14:32:47