2013-04-30 70 views
3

我有一個XML文件,我通過BeautifulSoup解析。我的文件的一小部分:檢查標籤是否爲空

<document> 
    <ad> 
     <date>21-Apr-2013</date> 
    </ad> 
    <ad> 
     <date></date> 
    </ad> 
</document> 

什麼是計算date元素不是空的數量最快的方法是什麼?如果我將date轉換爲屬性ad,這會更快嗎?

回答

3

這人會指望空<date>標籤:

sum(1 for s in soup.find_all('date') if s.text) 

但如果你真的去了速度,可以考慮一些其他的解析器,例如SAX

屬性不相符,使用find_all('ad', attrs={'date': ''})

+2

'如果s.text'或'如果不是s.text'? – 2013-04-30 20:21:22

+0

如果'date'是'ad'的屬性,你能告訴我怎麼做? – 2013-04-30 20:26:36