繁体   English   中英

XML处理脚本只列出一个元素,但有多个元素要列出

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM