【问题标题】:Parsing XML Document with Python - Search specific Elements, get String inside使用 Python 解析 XML 文档 - 搜索特定元素,获取内部字符串
【发布时间】:2021-01-17 01:19:05
【问题描述】:

我得到了一个具有以下结构的 XML-Doc:

<defaults> 
<options>
<param name="userMail">user@mail.org</param>
<param name="adminMail"admin@mail.org</param>
<param name="language">en</param>
<param name="country">EN</param>
<> ... </> 
</defaults>
</options>

在“options”-Tag里面有很多param-Elements,我要搜索“userMail”和“adminMail”元素。

    tree = ET.parse("file_config.xml")
    root = tree.getroot()
    for admin in root.iter("param"):
    print(admin.text)

这很好用,但我得到了整个输出(user@mail.org、admin@mailorg、en、EN)。

如何仅搜索“userMail”和“adminMail”元素并将它们存储在一个变量中?

我使用 xml.etree.ElementTree 作为 ET。

【问题讨论】:

    标签: python xml parsing xml-parsing xml.etree


    【解决方案1】:

    见下文(对用户邮件执行相同操作)

    import xml.etree.ElementTree as ET
    
    xml = '''<defaults>
       <options>
          <param name="userMail">user@mail.org</param>
          <param name="adminMail">admin@mail.org</param>
          <param name="language">en</param>
          <param name="country">EN</param>
       </options>
    </defaults>'''
    
    root = ET.fromstring(xml)
    admin_mail = root.find('.//param[@name="adminMail"]').text
    print(admin_mail)
    

    输出

    admin@mail.org
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多