最喜欢的电影和不喜欢的电影数量

问题描述 投票:0回答:2
xml python-3.x counting
2个回答
1
投票

您正在尝试在

XML
文档中选择与给定
XPath
表达式匹配的标签。
XPath
库支持的
xml.etree
表达式在这里描述:https://docs.python.org/3/library/xml.etree.elementtree.html#elementtree-xpath.

查看文档后,我得出了这个简单的

XPath
表达式,它可以满足您的要求:选择根的所有子元素,它们都是
movie
并将属性
favorite
的值设置为
 False
.

from xml.etree import ElementTree as Et
et.fromstring(xml)
e.findall('.//movie[@favorite="False"]')
[<Element 'movie' at 0x000001F20A6C48B8>, ...]

0
投票

我才刚刚开始学习 xml 和 python,但相信下面的方法可行吗?

favorite=[]
not_favorite = []

for movie in root.findall(".genre/decade/movie/[@favorite='True']"):
    fav = favorite.append(movie.attrib)
for movie in root.findall(".genre/decade/movie/[@favorite='False']"):
    non_fav = not_favorite.append(movie.attrib)
print(f"Number of movie favourites is {(len(favorite))}.")
print(f"Number of movie non favourites is {(len(not_favorite))}.")
© www.soinside.com 2019 - 2024. All rights reserved.