繁体   English   中英

使用 Python 解析 XML 文档 - 搜索特定元素,获取其中的字符串

[英]Parsing XML Document with Python - Search specific Elements, get String inside

我得到了一个具有以下结构的 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 中,我有很多参数-元素,我想搜索“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。

请参阅下文(对用户邮件执行相同操作)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM