2009-01-26 10 views
7

पार्सिंग मैं पाइथन में एक साधारण वेब-आधारित आरएसएस रीडर बना रहा हूं, लेकिन मुझे XML को पार्स करने में समस्या हो रही है। मैंने पायथन कमांड लाइन में कुछ सामानों की कोशिश करके शुरुआत की।सभी नोड वैल्यू फ़ील्ड कोई नहीं हैं जब XML

>>> from xml.dom import minidom 
>>> import urllib2 
>>> url ='http://www.digg.com/rss/index.xml' 
>>> xmldoc = minidom.parse(urllib2.urlopen(url)) 
>>> channelnode = xmldoc.getElementsByTagName("channel") 
>>> channelnode = xmldoc.getElementsByTagName("channel") 
>>> titlenode = channelnode[0].getElementsByTagName("title") 
>>> print titlenode[0] 
<DOM Element: title at 0xb37440> 
>>> print titlenode[0].nodeValue 
None 

मैं थोड़ी देर के लिए इस के साथ चारों ओर खेला, लेकिन सब कुछ के nodeValueNone हो रहा है। फिर भी यदि आप एक्सएमएल देखते हैं, तो वहां निश्चित रूप से मूल्य हैं। मैं क्या गलत कर रहा हूं?

उत्तर

16

आरएसएस फ़ीड के लिए आपको Universal Feed Parser लाइब्रेरी का प्रयास करना चाहिए। यह आरएसएस फ़ीड के प्रबंधन को बेहद सरल बनाता है।

>>> print titlenode[0].firstChild.nodeValue 
digg.com: Stories/Popular 

ध्यान दें कि नोड मूल्य नोड के ही एक तार्किक वंशज है:

import feedparser 
d = feedparser.parse('http://www.digg.com/rss/index.xml') 
title = d.channel.title 
10

इस वाक्य रचना के लिए आप देख रहे हैं।

संबंधित मुद्दे