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)
我正在学习解析方面的新知识,遇到了一个我不知道如何解决的问题。
我有一个 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)