检查标签是否为空

时间:2013-04-30 20:13:17

标签: python xml beautifulsoup

我有一个XML文件,我通过BeautifulSoup解析。我文件的一小部分是:

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

计算非空date元素数量的最快方法是什么?如果我将date转换为属性ad

,这会更快吗?

1 个答案:

答案 0 :(得分:3)

这个会计算空的<date>标签:

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

但如果你真的想要速度,可以考虑一些其他的解析器,例如: SAX

要匹配属性,请使用find_all('ad', attrs={'date': ''})