当解析XML时,所有的nodeValue字段都是空的。

7

我正在用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

我玩了一会儿,但是所有东西的nodeValue似乎都是None。但是如果你看一下XML,那里肯定有值。我做错了什么?

2个回答

17

对于 RSS 订阅源,您可以尝试使用 Universal Feed Parser 库。它可以极大地简化 RSS 订阅源的处理。

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

10
这就是你要找的语法:

这就是你要找的语法:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接