Re: SimpleXMLElement is not Simple

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 28 September 2007 11:09, Nathan Nobbe wrote:
> just curious, what database are you using?

I am using MySQL Ver 14.12 Distrib 5.0.22

cheers,
Jeffery
>
> -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>&amp;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_paymen
> >t
> > env:encodingStyle="http://www.w3.org/2003/05/soap-encoding";><payment_id>5
> >ce30dcc-7df7-04e8</payment_id><payment_amount>10</payment_amount><callback
> >_query_string>&amp;payment_id=5ce30dcc-7df7-04e8</callback_query_string><t
> >ransaction_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

-- 
Internet Vision Technologies
Level 1, 520 Dorset Road
Croydon
Victoria - 3136
Australia

Attachment: pgpMYSH5CPVt3.pgp
Description: PGP signature


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux