Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/08/2013, 10:41
Avatar de adryan310
adryan310
 
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 12 años, 2 meses
Puntos: 3
Pregunta ¿Como leer este xml en PHP?

Hola a todos los del foro...

tengo un archivo php llamado parameter.php que construye un xlm de esta manera:
Código PHP:
<?php
$parameter 
$_POST["valor"];
$bVipLevel true;

    
$param = array();
    
$param [] = array(
    
'result' => validate($parameter,$bVipLevel),
    );
         
    
$doc = new DOMDocument();
     
    
$doc->formatOutput true;
     
    
$r $doc->createElement"parameter" );
     
    
$doc->appendChild$r );
     
    foreach( 
$param as $parameters )
    {
    
$b $doc->createElement"parameter" );
     
    
$result $doc->createElement"bVipLevelEnabled" );
    
$result->appendChild(
    
$doc->createTextNode$parameters['result'] )
    );
    
$b->appendChild$result );     
    
$r->appendChild$b );
    }
     
    echo 
$doc->saveXML();

function 
validate($parameter,$bVipLevel){
     
$result "";
     if(
trim($parameter) <> "")
     { 
        if(
$bVipLevel == true)
          
$result="YES";
        else
          
$result "NO";
          
          return 
$result;
     }

?>
Al dar click derecho ver codigo fuente de la pagina en el browser se muestra lo siguiente:
Código:
<?xml version="1.0"?>
<parameter>
  <parameter>
    <bVipLevelEnabled>YES</bVipLevelEnabled>
  </parameter>
</parameter>
Luego en otro sitio por web-services consumo los servicios de esta pagina lo hago de esta manera:
Código PHP:
<?php
$data 
= array();
        
$data['valor']="Y";
        
        
define("URL_BINGO_FUN_HOUSE","http://localhost/Servidor/parameter.php");
        
        
$post_str '';
        foreach(
$data as $key=>$value){
          
$post_str .= $key.'='.urlencode($value).'&';    
        }
          
$post_str substr($post_str0, -1); 
        
        
$ch curl_init(); // Inicializo el servicio CURL
        
curl_setopt($chCURLOPT_URL,URL_BINGO_FUN_HOUSE); 
        
curl_setopt($ch,CURLOPT_POSTTRUE); 
        
curl_setopt($chCURLOPT_POSTFIELDS,$post_str); 
        
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); 
        
        
$response curl_exec($ch); 
            
        if(
$response == "YES")
          echo 
"print yes!";
        else
          echo 
"print ".$response."!!";
        
        
curl_close($ch); // Cierro el servicio CURL
?>
El problema que tengo es que quiero saber que me retorna parameter.php(YES o NO) lo hago en el IF pero se esta yendo por el else osea el valor no es un YES. Entonces creo que debo leerlo como un xml... alguien sabe como ayudarme por favor ?