解析XML时,所有nodeValue字段均为None

The*_*i.9 7 python xml rss minidom

我正在用Python构建一个简单的基于Web的RSS阅读器,但是我在解析XML时遇到了问题.我从Python命令行中尝试了一些东西开始.

>>> 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
Run Code Online (Sandbox Code Playgroud)

我玩了一段时间,但nodeValue一切似乎都是None.然而,如果你看一下XML,肯定有值.我究竟做错了什么?

小智 17

对于RSS源,您应该尝试使用Universal Feed Parser库.它简化了RSS提要的处理.

import feedparser
d = feedparser.parse('http://www.digg.com/rss/index.xml')
title = d.channel.title
Run Code Online (Sandbox Code Playgroud)


Yuv*_*dam 10

这是您正在寻找的语法:

>>> print titlenode[0].firstChild.nodeValue
digg.com: Stories / Popular
Run Code Online (Sandbox Code Playgroud)

请注意,节点值是节点本身的逻辑后代.