4

I am trying to convert a SOAP response to XML.

SOAP has an envelop and a body

<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> 

When I try to convert

$responseXML = simplexml_load_string($string); 

I get

object(SimpleXMLElement)#20 (0) { } 

If I edit the $string as soap:Envelope and soap:Body I can get the XML.

What's wrong with :? Can not get XML.

I hope it's clear. Anyone?

0

2 Answers 2

9

A SOAP message is already XML. The problem is that it has namespaces so you have to access it differently. (The part before the colon is the identifier for the namespace.)

Here (google cached copy) is an example of using namespaces with SimpleXML.
Here is a specific example for reading SOAP messages.

Sign up to request clarification or add additional context in comments.

Comments

1

SimpleXML requires special treatment for namespaced XML (ref.)

2 Comments

Totally clear.But what about if i want to access for example xml->soap:Envelop->soap:Body->item1->item2
because "soap:" is not tied to a namespace in this example. mind that not the namespace prefix must match, but the namespace itself.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.