just curious, what database are you using? -nathan On 9/27/07, Jeffery Fernandez <jeffery@xxxxxxxxxx> wrote: > > I am having nightmares with this bit off code. > > The following code work perfectly fine: > > $soap_request_string = <<<XML > <?xml version="1.0" encoding="UTF-8"?> > <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" > xmlns:ns1="urn:Gateway_Proxy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc=" > http://www.w3.org/2003/05/soap-encoding"> > <env:Body> > <ns1:make_proxy_payment env:encodingStyle=" > http://www.w3.org/2003/05/soap-encoding"> > <payment_id>61ecc268-1cd0-f468</payment_id> > <payment_amount>15495</payment_amount> > > <callback_query_string>&payment_id=61ecc268-1cd0-f468</callback_query_string> > <transaction_note>Order from Student Library Fees with Payment Id: > 61ecc268-1cd0-f468</transaction_note> > </ns1:make_proxy_payment> > </env:Body> > </env:Envelope> > XML; > > $xml = new SimpleXMLElement($soap_request_string, NULL, false, ' > http://www.w3.org/2003/05/soap-envelope'); > print_r($xml); > $ns = $xml->getNamespaces(true); > //print_r($ns); > > foreach ($xml->children($ns['env']) as $body) > { > //printf("%s<br />", $body->getName()); > > foreach ($body->children($ns['ns1']) as $function) > { > printf("function %s()<br />", $function->getName()); > > foreach ($function->children() as $parameters) > { > printf("%s => \"%s\"<br />", $parameters->getName(), > $parameters); > } > } > } > > > However when the XML string is coming from the database it does not work. > The Field and table have a collation of "utf8_unicode_ci" > > $soap_request_string = trim(str_replace(array("\n"), '', > $record['SoapRequestEnvelope'])); > $xml = new SimpleXMLElement($soap_request_string, NULL, false, ' > http://www.w3.org/2003/05/soap-envelope'); > print_r($xml); > > > The above code is supposed to print out the following (for me to proceed > further): > > SimpleXMLElement Object > ( > [Body] => SimpleXMLElement Object > ( > ) > ) > > > but only returns: > SimpleXMLElement Object > ( > ) > > > The XL string from the database looks exactly like this (after replacing > new lines): > > <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env=" > http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:Gateway_Proxy" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance" xmlns:enc=" > http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:make_proxy_payment > env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><payment_id>5ce30dcc-7df7-04e8</payment_id><payment_amount>10</payment_amount><callback_query_string>&payment_id=5ce30dcc-7df7-04e8</callback_query_string><transaction_note>Order > from Student Library Fees with Payment Id: > 5ce30dcc-7df7-04e8</transaction_note></ns1:make_proxy_payment></env:Body></env:Envelope> > > > I can't figure out whats wrong with the code. Any suggestions? > > cheers, > Jeffery > -- > Internet Vision Technologies > Level 1, 520 Dorset Road > Croydon > Victoria - 3136 > Australia > >