XML 使用 Python 解析 - 在 XML 文件中查找属性值

XML Parsing with Python - find attribute value in XML file

我正在学习解析方面的新知识,遇到了一个我不知道如何解决的问题。

我有一个 XML 文件(见下文),我只想获取预设中 a 的值,即 -1

<global>
    <setting lid="diagnosticEcgSpeed"  val="-1" pers="" res="" unit="mm/s">
        <txt id="001041" description="" type="">Geschwindigkeit</txt>
        <value lid="1" val="-1" text="50"/>
        <value lid="2" val="-2" text="25"/>
        <value lid="4" val="-4" text="12,5"/>
        <!-- todo: only one value is needed -> use adult value -->
        <preset i="-1" c="-1" a="-1" />
    </setting>

到目前为止我试过这个代码:

import xml.etree.ElementTree as ET
tree = ET.parse('basics.xml')
root = tree.getroot()

x=root.find(".//*[@lid='diagnosticEcgSpeed']/preset").attrib
print(x)

我得到:

{'i': '-1', 'c': '-1', 'a': '-1'}

我需要在我的代码中更改什么,以便我只获得 a 的值而不是预设中的所有属性?

由于返回值本身就是一个字典,你可以试试

import xml.etree.ElementTree as ET
tree = ET.parse(r"C:\Users\Downloads\new downloads\temp\abc.xml")
root = tree.getroot()

x=root.find(".//*[@lid='diagnosticEcgSpeed']/preset").attrib['a']
print(x)