[英]XML processing script only lists one element but there are multiple elements to list
我整理了一个简单的 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 数据位于此处
但是,脚本只打印出第一个包名,但有多个包名。 我将如何获取属于父属性的所有包名称: Security Advisory
?
下面(它似乎工作)
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.