0

这是我的代码:

import xml.etree.ElementTree as ET
import random

tree = ET.parse('news.xml')
root = tree.getroot()

channel = root.find('channel')

for item in channel.findall('item'):
    title = item.find('title').text
    description = item.find('description').text
    link = item.find('link').text
    print random.choice(title)

这会从每个标题对象中打印出一个随机字符。我想打印出一个完整的标题字符串。这是原始的 xml 文件:http ://www.11alive.com/rss/local/3/10.xml

4

2 回答 2

2

改变你的for循环来做到这一点:

titles = []

for item in channel.findall('item'):
    titles.append(item.find('title').text)
    description = item.find('description').text
    link = item.find('link').text

print random.choice(titles)

这将从列表中打印一个随机标题。

于 2013-02-24T10:28:39.340 回答
1

这就是我最终做的,感谢您的提示:

titlelist = []

for item in channel.findall('item'):

    title = item.find('title').text
    description = item.find('description').text
    link = item.find('link').text
    titlelist.append(title)

print random.choice(titlelist)
于 2013-02-24T10:31:09.273 回答