我編寫了一個簡單的 Python 腳本來打印與父元素屬性關聯的所有包名稱的 XML 數據:Security Advisory。import xml.etree.ElementTree as ETtree = ET.parse('errata.xml')root = tree.getroot()for security in root.findall("*[@type='Security Advisory']"):? ? packages = security.find('packages')? ? print(packages.text)但是,該腳本僅打印出第一個包名稱,但有多個包名稱。我將如何獲取屬于父屬性的所有包名稱:Security Advisory?
1 回答

尚方寶劍之說
TA貢獻1788條經驗 獲得超4個贊
下面(似乎有效)
import xml.etree.ElementTree as ET
import requests
r = requests.get('https://cefs.b-cdn.net/6010e333a44911e24b5112e23acbb346ae15f7b7/errata.latest.xml')
if r.status_code == 200:
root = ET.fromstring(r.content)
sec_elements = [e for e in root.findall("*[@type='Security Advisory']") if
e.find('os_release') is not None and int(e.find('os_release').text) > 6]
for ele in sec_elements:
packages = ele.findall('./packages')
for p in packages:
print(p.text)
添加回答
舉報
0/150
提交
取消