पाइथन में एलिमेंटट्री का उपयोग करके आप XML में नेमस्पेस-विशिष्ट टैग कैसे खोजते हैं?पाइथन में एलिमेंट्री के साथ आरएसएस को पार्स करना
मैं एक XML/आरएसएस दस्तावेज़ की तरह:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.0/"
>
<channel>
<title>sometitle</title>
<pubDate>Tue, 28 Aug 2012 22:36:02 +0000</pubDate>
<generator>http://wordpress.org/?v=2.5.1</generator>
<language>en</language>
<wp:wxr_version>1.0</wp:wxr_version>
<wp:category><wp:category_nicename>apache</wp:category_nicename><wp:category_parent></wp:category_parent><wp:cat_name><![CDATA[Apache]]></wp:cat_name></wp:category>
</channel>
</rss>
लेकिन जब मैं कोशिश करते हैं और सभी पाते हैं: करके "WP श्रेणी" टैग:
import xml.etree.ElementTree as xml
tree = xml.parse(fn)
doc = tree.getroot()
categories = doc.findall('channel/wp:category')
मैं त्रुटि मिलती है:
SyntaxError: prefix 'wp' not found in prefix map
किसी भी गैर-नामस्थान विशिष्ट फ़ील्ड के लिए खोज करना ठीक काम करता है। मैं क्या गलत कर रहा हूं?
इसका कोई मतलब नहीं है। नामस्थान उपसर्गों को पैरेंट टैग में परिभाषित किया गया है। मुझे अपने आरएसएस दस्तावेज़ को पूर्व-विश्लेषण नहीं करना चाहिए, इसलिए मैं अपने आरएसएस पार्सर को नामस्थानों को चम्मच-खिला सकता हूं ... –
Cerin
मैं आपसे बहस नहीं कर रहा हूं, मैं बस इतना कह रहा हूं कि मैं इसके आसपास कैसे आया। – Tom