我正在处理一些xml文件。这些文件的模式指定只能有某种类型的元素(在这种情况下,我正在使用脚注元素)。如何从列表中获得某种特定类型的唯一元素,比我所做的更干净?
在脚注元素中可以有几个脚注元素,我试图抓住并处理脚注元素,以便我可以遍历它来发现脚注元素。
这里是我目前的做法
def get_footnotes(element_list):
footnoteDict=od()
footnotes_element=[item for item in element_list if item.tag=='footnotes'][0]
for eachFootnote in footnotes_element.iter():
if eachFootnote.tag=='footnote':
footnoteDict[eachFootnote.values()[0]]=eachFootnote.text
return footnoteDict
element_list是贯穿整个树遍历
所以我想知道如果有一个更Python的方式来获得后是相关的我的元素列表脚注元素,而不是遍历元素列表,在我看来,这是笨拙的,因为这是
footnotes_element=[item for item in element_list if item.tag=='footnotes'][0]
你应该看看这个问题,它的答案(http://stackoverflow.com/questions/8692/how-to-use-xpath-在的Python)。也许你应该使用XPath和lxml。 – buruzaemon
@erkysun感谢您的支持 – PyNEwbie