import xml.etree.ElementTree as ET tree = ET.parse('/home/hermes/workspace/bgg_ratings_20260703.xml') root = tree.getroot() for item in root.findall('item'): name = item.find('name') name_val = name.get('value') if name is not None else '?' year = item.find('yearpublished') year_val = year.get('value') if year is not None else '?' stats = item.find('statistics') ratings = stats.find('ratings') if stats is not None else None avg = ratings.find('average').get('value') if ratings is not None and ratings.find('average') is not None else '?' weight = ratings.find('averageweight').get('value') if ratings is not None and ratings.find('averageweight') is not None else '?' users = ratings.find('usersrated').get('value') if ratings is not None and ratings.find('usersrated') is not None else '?' print(f'{item.get("id")}: {name_val} ({year_val}) | Rating: {avg} | Weight: {weight} | Votes: {users}')