2013-02-12 75 views
2

解析XML SOAP響應我想從解析SOAP這種答覆,提取<LoginResult>之間的文本:與Python

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <LoginResponse xmlns="http://tempuri.org/wsSalesQuotation/Service1"> 
     <LoginResult>45eeadF43423KKmP33</LoginResult> 
     </LoginResponse> 
    </soap:Body> 
</soap:Envelope> 

我如何使用XML的Python利布斯辦呢?

回答

6
import xml.etree.ElementTree as ET 
tree = ET.parse('soap.xml')  

print tree.find('.//{http://tempuri.org/wsSalesQuotation/Service1}LoginResult').text 


>>45eeadF43423KKmP33 

而不是打印,做一些有用的事情。

+0

SyntaxError:無法在元素上使用絕對路徑 – ManuParra 2013-02-12 08:51:43

+0

您使用的是什麼Python版本? – Gjordis 2013-02-12 08:52:19

+0

我有Python 2.7.3在MAC osX – ManuParra 2013-02-12 08:54:04