如何解决使用Python解析XML文档-搜索特定元素,在内部获取String
我有一个具有以下结构的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>
在“选项”标签中,我有很多参数元素,我想搜索“ 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。