получить элементы title и pubDate из документа xml - PullRequest
0 голосов
/ 21 февраля 2012

Я новичок в питоне. Мне нужен текст из элементов "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

Я получаю None, None на выходе. Вот 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 Ответ

1 голос
/ 21 февраля 2012

findtext ищет текст, но вы ищете узлы по XPath, поэтому используйте метод xpath:

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

Обратите внимание на []: метод xpath возвращает списки элементов.

...