gpt4 book ai didi

python - 如何解析分层的 XML 字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:24 25 4
gpt4 key购买 nike

我有一个 xml 字符串需要在 python 中解析,如下所示:

 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<PostLoadsResponse xmlns="http://webservices.truckstop.com/v11">
<PostLoadsResult xmlns:a="http://schemas.datacontract.org/2004/07/WebServices.Objects" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Errors xmlns="http://schemas.datacontract.org/2004/07/WebServices">
<Error>
<ErrorMessage>Invalid Location</ErrorMessage>
</Error>
</Errors>
</PostLoadsResult>
</PostLoadsResponse>
</s:Body>
</s:Envelope>'

我在使用 xmltree 获取此树的错误消息时遇到问题,没有类似的内容:

import xml.etree.ElementTree as ET
ET.fromstring(text).findall('{http://schemas.xmlsoap.org/soap/envelope/}Body')[0].getchildren()[0].getchildren()[0].getchildren()

最佳答案

您需要handle namespaces你可以用 xml.etree.ElementTree 来做到这一点:

tree = ET.fromstring(data)

namespaces = {
's': 'http://schemas.xmlsoap.org/soap/envelope/',
'd': "http://schemas.datacontract.org/2004/07/WebServices"
}
print(tree.find(".//d:ErrorMessage", namespaces=namespaces).text)

打印无效位置

关于python - 如何解析分层的 XML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34932771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com