我有一个XML文件,我通过BeautifulSoup解析。我文件的一小部分是:
<document>
<ad>
<date>21-Apr-2013</date>
</ad>
<ad>
<date></date>
</ad>
</document>
计算非空date
元素数量的最快方法是什么?如果我将date
转换为属性ad
?
答案 0 :(得分:3)
这个会计算空的<date>
标签:
sum(1 for s in soup.find_all('date') if s.text)
但如果你真的想要速度,可以考虑一些其他的解析器,例如: SAX
要匹配属性,请使用find_all('ad', attrs={'date': ''})