WordPress エクスポート ファイルを解析するためにfeedparser (優れたライブラリ)を使用しようとしています。
atom:link
WordPress 2.x は、XML 出力 ( without_atom_tags.xml ) にタグを含めません。解析すると、名前空間付きの要素はプレフィックスなしで利用できます。
>>> feed = feedparser.parse("without_atom_tags.xml")
>>> print feed.entries[0].comment_status
u'open'
WordPress 3.x の XMLにはタグ ( with_atom_tags.xml )が含まれているため、名前空間要素のプレフィックスを付ける必要があります。atom:link
>>> feed = feedparser.parse("with_atom_tags.xml")
>>> feed.entries[0].wp_comment_status # <-- Note wp_ prefix
u'open'
>>> feed.entries[0].comment_status
AttributeError: object has no attribute 'comment_status'
興味深いことに、xmlns:atom="http://www.w3.org/2005/Atom"
ルート RSS 要素 ( with_atom_tags_and_namespace.xml ) に追加する場合、プレフィックスは必要ありません。
XML を変更せずに、これらのさまざまな形式をすべて解析する必要があります。フィードパーサーが壊れていますか、それとも間違っていますか? 厄介な条件付きコードの束なしでこれを行うことはできますか?