PHP - problema con xml y php

 
Vista:

problema con xml y php

Publicado por Sergiomariano Castellanos (2 intervenciones) el 30/07/2012 19:36:49
Buen dia. tengo un serio rpoblema que quiza sea de sintaxis mas que programacion pero pues ya no se que hacer si alguine me ayuda lo agradecere!.

El problema es este a travez de un curl obtengo un xml de un webserver y lo puedo desplegar asignandole a dicho xml una variable. el problema es como descompongo el xml para solo tomar los campos que necesito y luego desplegarlos a travez de mi web service, ya que necesito solo algunos datos de el xml q recibo y necesito enviarlos a otro programa pero son toda la trama de xml. este es el codigo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$xml=yo envio trama
$url = "https://webserver";
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1) ;
curl_setopt($ch, CURLOPT_POSTFIELDS, utf8_encode($xml));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSLCERT, 'archivopem.pem');
curl_setopt($ch, CURLOPT_SSLKEY, 'archivokey.key');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HEADER, true );
curl_setopt($ch, CURLOPT_VERBOSE, 3);
 
$result = curl_exec($ch) ;
curl_close($ch);
 
echo $result;    // se imprime todo el xml que obtengo del webserver perfectamente sin ningun error.


como hago para tomar un valor especifico del xml que es igual a $result???? este es mi problema

ya probe asi y nada!!

1
2
3
4
5
$xmlin = simplexml_load_string($result);
foreach ($xmlin->channel->item as $item)
{
echo $item;
}


el xml q recibo viene asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="UTF-8"?>
<NS1:datos de la transaccion xmlns:NS1="http://webserver">
<instant_notification>
      <addl_service_charges/>
</instant_notification>
<payment_transactions>
       <payment_transaction>
           <sender>
               <name name_type="M">
                  <given_name>firstname</given_name>
                  <paternal_name>primer apellido</paternal_name>
                  <maternal_name>segundo apellido</maternal_name>
               </name>
               <address>
                   <city>Ciduad</city>
                   <state>stado</state>
                   <country_code>
                       <iso_code>
                             <country_code>pais</country_code>
                       </iso_code>
                   </country_code>
                    <state_zip>zip</state_zip>
                    <street>direccion principal</street>
                    <local_delivery_area>#######</local_delivery_area>
               </address>
                    <contact_phone>telefono</contact_phone>
                        <mobile_phone>
                            <phone_number/></mobile_phone>
                        <mobile_details>
                           <number>####</number>
                        </mobile_details>
        </sender>
</payment_transactions>
</NS1:receive-money-search-reply>


y lo que necesito obtener es el primer nombre y ambos apellidos! nada mas de esta manera

$nombre= firstname
$apellido1= primer apellido
$apellido2 = segundo apellido

para luego enviarlos a otro web service.

alguien puede ayudarme gracias!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problema con xml y php

Publicado por Sergiomariano Castellanos (2 intervenciones) el 30/07/2012 20:05:57
ya probe tambien con esto


$out = <<<XML. $result. XML;

$xmlin = simplexml_load_string($out);

print_r($xmlin);

y nada.

agradezco su ayuda! buen dia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar