我试图获取 XML 的每一行或特定行的值,但我试图解析的 XML 的格式与我见过的格式不同,我见过的关闭是 xml.etree.ElementTree ( https:// docs.python.org/2/library/xml.etree.elementtree.html),但仍然无法到达那里。
例如,我想获取“例行报告”的“序列号”键的值作为 Ident
任何帮助都会受到赞赏。
<?xml version="1.0" encoding="utf-8"?>
<NGKCONFIG Report="ivory_2019-10-08_08h32m26s">
<NGKNODES Format="1" Version="3">
<NGKNODE Ident="Default" Key="DocLanguage" Value="en" />
<NGKNODE Ident="Default" Key="Machine" Value="Pane X234" />
<NGKNODE Ident="Default" Key="Look" Value="Mirr2012" />
<NGKNODE Ident="Default" Key="MachineGroup" Value="Mirr1743" />
<NGKNODE Ident="DailyReport" Key="Owner" Value="Milot" />
<NGKNODE Ident="RoutineReport" Key="Owner" Value="Milot" />
<NGKNODE Ident="BackupReport" Key="Owner" Value="Milot" />
<NGKNODE Ident="RoutineReport" Key="NextReportAt" Value="2020-06-26T00:00:00-04:00" />
<NGKNODE Ident="BackupReport" Key="NextReportAt" Value="2020-06-26T00:00:00-04:00" />
<NGKNODE Ident="BackupReport" Key="SequenceNumber" Value="105" />
<NGKNODE Ident="BackupReport" Key="LastReportAt" Value="2020-06-25T00:00:00-04:00" />
<NGKNODE Ident="RoutineReport" Key="SequenceNumber" Value="199" />
<NGKNODE Ident="RoutineReport" Key="LastReportAt" Value="2020-06-25T01:44:46-04:00" />
</NGKNODES>
</NGKCONFIG>
解决方案是:
导入 xml.dom.minidom
定义主():
doc = xml.dom.minidom.parse("NgkConfig.xml")
nodes = doc.getElementsByTagName("NGKNODE")
for ngknode in nodes:
if ngknode.getAttribute('Key') == 'NextReportAt':
if ngknode.getAttribute('Ident') == 'RoutineReport':
ident = (ngknode.getAttribute('Ident'))
value = (ngknode.getAttribute('Value'))
message= ('Next {} will be {}'.format(ident,value))
print(message)
if name == " main ": main();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句