在下面提供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
print(ET.tostring(r))
将显示r
包含您想要的所有内容。
直接获得* B *元素,您可以尝试
for b in root.iterfind('.//B'):
print(ET.tostring(b))
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。