无法使用random.choice打印单个字符串,只能打印单个字符

时间:2013-02-24 10:19:38

标签: python xml

这是我的代码:

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

2 个答案:

答案 0 :(得分: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)

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

答案 1 :(得分: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)