Python开发元素树XML和字符串操作

2024-05-03 17:28:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用ElementTree加载一系列XML文件并对其进行解析。当一个文件被解析时,我从中获取一些数据(一个标题和一段文本)。然后我需要获取一些存储在XML中的文件名。它们包含在名为ContentItem的元素中。在

我的代码看起来有点像这样:

for item in dirlist:
    newsML = ET.parse(item)
    NewsLines = newsML.getroot()
    HeadLine = NewsLines.getiterator("HeadLine")
    result.append(HeadLine)
    p = NewsLines.getiterator("p")
    result.append(p)
    ci = NewsLines.getiterator("ContentItem")
    for i in ci:
        result.append(i.attrib)

现在,如果只有一种类型的文件,这是可以的,但它包含3种类型(jpg、flv和mp4)。所以当我在视图中循环时,它会把它们吐出来,但是如果我只想要一个flv,我怎么能抓住flv呢?还是只有mp4?它们在列表中也不总是以相同的顺序出现。在

有没有一种方法可以说明它是否以.mp4结尾,然后执行此操作,或者在模板中也可以这样做?在

如果我试着这么做

^{pr2}$

我得到一个错误元组对象没有属性endswith。为什么这是元组?我以为是口述?在


Tags: 文件inciforxmlresultitemflv
1条回答
网友
1楼 · 发布于 2024-05-03 17:28:00

得到一个元组是因为您提供了一个元组(括号)作为url.get()的默认返回值。提供一个空字符串,您就可以使用它的.endswith()方法。还要注意元素本身有一个get()方法来检索属性值(不必通过.attrib)。示例:

if i.get('Href', '').endswith('.jpg'):
    result.append(i.attrib)

相关问题 更多 >