2012-01-08 85 views
0

我有一个XML文件filename.xml与内容Python的Feedparser中缺少解析输出

<product> 
    <sku>144249</sku> 
    <productId>119223</productId> 
    <name>Cannon Digital Camera</name> 
    <imageurl>http://bla.com/blu.jpg</imageurl> 
</product> 

,我使用了Python Universal Feed Parser module解析它像这家名为“名”的条目:

f = feedparser.parse('filename.xml') 

由此产生的解析输出(下面)缺少name条目,但其他一切都在那里。

{'bozo': 0, 
'encoding': 'utf-8', 
'entries': [{'imageurl': u'http://bla.com/blu.jpg', 
'productid': u'119223', 
'sku': u'144249'}], 
'feed': {}, 
'namespaces': {}, 
'version': ''} 

我在做什么错?

+1

是您试图解析Feed的文件吗?如果没有,为什么不尝试更通用的XML解析器,比如'ElementTree'或'lxml'中找到的解析器? – 2012-01-08 21:08:58

+0

是的,该文件是我上面粘贴的Feed。 Dint知道lxml,现在就尝试。 – jason 2012-01-08 21:11:36

+0

[BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/)是解析非馈送XML文件的另一个有用选项。 – 2012-01-08 21:13:57

回答

2

答案是使用另一种工具 - 这不是RSS feed。要指出的最简单的理由是,所有RSS提要必须具有<rss>根节点,但这不是。

XML是用于存储数据的通用格式,RSS是基于XML设计的用于内容联合的格式。他们有不同的目的。