解析XML时所有nodeValue字段均为None
我正在用 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,就会发现其中肯定存在值。 我究竟做错了什么?
I'm building a simple web-based RSS reader in Python, but I'm having trouble parsing the XML. I started out by trying some stuff in the Python command line.
>>> 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
I played around with this for a while, but the nodeValue
of everything seems to be None
. Yet if you look at the XML, there definitely are values there. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是您正在寻找的语法:
请注意,节点值是节点本身的逻辑后代。
This is the syntax you are looking for:
Note that the node value is a logical descendant of the node itself.
对于 RSS Feed,您应该尝试使用Universal Feed Parser 库。 它极大地简化了 RSS 提要的处理。
For RSS feeds you should try the Universal Feed Parser library. It simplifies the handling of RSS feeds immensly.