首页 > 解决方案 > 子元素中的 Python 搜索

问题描述

我有一个这样的 XML 文件:

<?xml version="1.0" encoding="UTF-8" ?>
<Orders>
    <Order>
        <Key>30611-897647</Key>
        <Date>2021.06.25 05:04:18</Date>
        <DateMod>2021.06.25 16:03:19</DateMod>
        <Lang>hu</Lang>
        <Customer>
            <Email><![CDATA[xxxx@gmail.com]]></Email>
            <Username><![CDATA[xxxx@gmail.com]]></Username>
            <Contact>
                <Name><![CDATA[Some_One]]></Name>
                <Phone><![CDATA[]]></Phone>
                <Mobile><![CDATA[+36999999]]></Mobile>
                <Lang>hu</Lang>
            </Contact>
         </Customer>
    </Order>
</Order>

等等

我可以像这样打印订单数据:Key、Date、DateMod 和 Lang

for x in root[0]:
    print(x.tag,x.text)

如何在客户中搜索?打印电子邮件、用户名等。

标签: pythonxmlelementtree

解决方案


如果您只需要所有Customer元素:

for customer in root.iter('Customer'):
    for elem in customer:
        print(elem.tag, elem.text)


推荐阅读