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)

これにより、各タイトル オブジェクトから 1 つのランダムな文字が出力されます。タイトル文字列全体を 1 つ印刷したいと思います。これは元の 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 に答える