从xml doc获取title和pubDate元素

时间:2012-02-21 14:57:18

标签: python lxml

我是python的新手。我需要来自“title”和“pubDate”元素的文本,但只需要来自这些元素的第一个实例。我一直在尝试“lxml”:

tree=etree.parse('doc.xml')
x = tree.findtext("rss/channel/item/title")
y = tree.findtext("rss/channel/item/pubDate")
print x, y

我在输出中持续获得无,无。 这是xml文件:

<rss version="2.0">
 <channel>
  <title>Dynamic rss from aaaa.aaaa search</title>
  <link>http://aaaaa.aaaa.info</link>
  <ttl>30</ttl>
  <description>RSS feed for selected show/news</description>
   <item>
    <title>
     <![CDATA[ AAAAAAA 7x16 (HDTV-LOL) [VTV] ]]>
    </title>
    <pubDate>Mon, 13 Feb 2012 00:00:00 GMT</pubDate>
   <link>
    <![CDATA[
http://torrent.zoink.it/AAAAAAAA.7x16.(HDTV-LOL)[VTV].torrent
]]>
   </link>
  <description>
   <![CDATA[
AAAAAAAA 7x16 (HDTV-LOL) [VTV] - http://torrent.zoink.it/AAAAAAA.7x16.(HDTV-LOL[VTV].torrent
]]>
  </description>

1 个答案:

答案 0 :(得分:1)

findtext查找文本,但您正在通过XPath查找节点,因此请使用xpath方法:

>>> tree.xpath("/rss/channel/item/title")
[<Element title at 107c2b8>]
>>> tree.xpath("/rss/channel/item/pubDate")
[<Element pubDate at 107c3c0>]

注意[]xpath方法返回元素列表。