开发者社区> 问答> 正文

在python中,我将如何提取XML的一部分

在下面提供XML

<soap:Envelope
        xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <soap:Body>
                <A>
                    <B>
                        <Id>55</Id>
                        <Name>My Name</Name>
                    </B>
                </A>
        </soap:Body>
</soap:Envelope>                

我将如何提取整个“ B”部分?即我将如何提取此部分:

    <B>
        <Id>55</Id>
        <Name>My Name</Name>
    </B>

我尝试使用ElementTree,但是无法正常工作。我尝试过的是:

root = ET.fromstring(data)
r = root[0][0][0]

但这只给了我标签本身:

<Element 'B' at 0x10b7aa590>  

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 22:37:50 540 0
1 条回答
写回答
取消 提交回答
  • print(ET.tostring(r))
    

    将显示r包含您想要的所有内容。

    直接获得* B *元素,您可以尝试

    for b in root.iterfind('.//B'):
        print(ET.tostring(b))
    

    回答来源:stackoverflow

    2020-03-24 22:37:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载