[Rodney] > Im a Python newbie and am trying to get the data out of a series of XML > files.
As Paul McGuire already noted, it's unusual to extract information from a SOAP message this way: it is more usual to use a SOAP toolkit to do the job for you. But, assuming that you know what you're doing, and that you're doing it for good reasons, here's a snippet that uses xpath to do what you want. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= document = """\ <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.ExchangeNetwork.net/schema/v1.0/node.wsdl" xmlns:types="http://www.ExchangeNetwork.net/schema/v1.0/node.wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <wsu:Timestamp xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"> <wsu:Created>2005-12-28T05:59:38Z</wsu:Created> <wsu:Expires>2005-12-28T06:04:38Z</wsu:Expires> </wsu:Timestamp> </soap:Header> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <q1:NodePingResponse xmlns:q1="http://www.ExchangeNetwork.net/schema/v1.0/node.xsd"> <return xsi:type="xsd:string">Ready</return> </q1:NodePingResponse> </soap:Body> </soap:Envelope> """ import xml.dom.minidom import xml.xpath #dom_tree = xml.dom.minidom.parse('my_xml_file.xml') dom_tree = xml.dom.minidom.parseString(document) return_node = xml.xpath.Evaluate('//return', dom_tree)[0] print "Return status is: '%s'" % return_node.childNodes[0].nodeValue #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= You have to install PyXML to get xpath support: http://pyxml.sf.net There are other ways to do it, e.g. using ElementTree, but I'll leave it to others to suggest the best way to do that. HTH, -- alan kennedy ------------------------------------------------------ email alan: http://xhaus.com/contact/alan -- http://mail.python.org/mailman/listinfo/python-list