Ich mache eine Anfrage an die API von Salesforce fusionieren und eine Antwort wie diese bekommen:Parsen von XML für bestimmte Artikel mit ElementTree
xml_result = '<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>62303</current>
<limit>2680000</limit><type>API REQUESTS</type></limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<mergeResponse>
<result>
<errors>
<message>invalid record type</message>
<statusCode>INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY</statusCode>
</errors>
<id>003skdjf494244</id>
<success>false</success>
</result>
</mergeResponse>
</soapenv:Body>
</soapenv:Envelope>'
ich in der Lage sein möchten, diese Antwort und wenn der Erfolg zu analysieren = false , geben Sie die Fehler, statusCode und den Nachrichtentext zurück.
Ich habe versucht, die folgenden:
import xml.etree.ElementTree as ET
tree = ET.fromstring(xml_result)
root.find('mergeResponse')
root.find('{urn:partner.soap.sforce.com}mergeResponse')
root.findtext('mergeResponse')
root.findall('{urn:partner.soap.sforce.com}mergeResponse')
... und ein paar andere Variationen von find
, findtext
und findall
aber ich kann nicht scheinen diese keine Ergebnisse zurück. Hier bleibe ich stecken. Ich habe versucht, den ElementTree-Dokumenten zu folgen, aber ich verstehe nicht, wie man den Baum nach bestimmten Elementen analysiert.