XMLファイルで文字列のみを抽出して処理する機会がありました。

このニーズに対して、以下のようなスクリプトにより、実現することができました。

soup = BeautifulSoup(open(path,'r'), "xml")
elements = soup.findChildren(text=True, recursive=True)

ポイントは、text=Trueを与えている点で、テキストノードのみを取得することができました。

参考になりましたら幸いです。


動画版(生成AIによる自動生成): この記事の内容をずんだもん×四国めたんの掛け合いで解説しています。自動生成のため、内容に誤りがある可能性があります。正確な情報は記事本文をご参照ください。