【问题标题】:Parsing XML with embeded atributes in Python在 Python 中解析带有嵌入属性的 XML
【发布时间】:2020-06-29 14:41:25
【问题描述】:

我试图获取 XML 的每一行或特定行的值,但我试图解析的 XML 与我看到的格式不同,我看到的关闭是 xml.etree.ElementTree (@ 987654321@),但仍然无法到达那里。

例如,我想将“常规报告”的“序列号”键的值作为 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>

【问题讨论】:

  • 你能用beautifulsoup模块吗?
  • 请将您尝试使用 ElementTree 的代码编辑到您的问题中,并解释它的作用、您想要它做什么,如果它给出 Python 错误,请将完整的错误消息编辑到您的问题中。

标签: python xml parsing


【解决方案1】:

解决办法是:

导入 xml.dom.minidom

def main():

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)

如果 name == "ma​​in": 主();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多