【发布时间】:2021-01-01 03:50:02
【问题描述】:
我编写了一个简单的 Python 脚本来打印所有与父元素属性关联的包名称的 XML 数据:Security Advisory。
import xml.etree.ElementTree as ET
tree = ET.parse('errata.xml')
root = tree.getroot()
for security in root.findall("*[@type='Security Advisory']"):
packages = security.find('packages')
print(packages.text)
XML 数据位于here
然而,脚本只打印出第一个包名,但有多个包名。我将如何获取所有属于父属性的包名称:Security Advisory?
【问题讨论】:
-
也许你找到
findall而不是find? -
@larsks 改变了这个:packages = security.findall('packages') 收到这个错误:print(packages.text) AttributeError: 'list' object has没有属性“文本”
-
没错。因为现在你得到的是一个 list 而不是单个项目,当然。
标签: python xml elementtree