gremio10 14 Denunciar post Postado Setembro 13, 2010 Galera , recebo um xml e uso o simplexml_load_string para le-lo. ai pego minha variavel e do um var_dump nele . e em alguns nós ele vem com '-' . tipo : <data-nascimento> <idade>18</idade> <ano>1992</ano> </data-nascimento> e alguns não tem : <info> <nome>Felipe</nome> <curso>Desenvolvedor de Software</curso> </info> digamos que tenho a variavel $xml para ler ele. faço assim : $xml = simplexml_load_string("teste.xml"); echo $xml->info->nome; // Vai mostrar Felipe echo $xml->info->curso; //Desenvolvedor de Software echo $xml->data-nascimento->idade; // da erro no data'-'nascimento como faço para pegar o valor daquele nó ? Obrigado. Felipe Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Setembro 13, 2010 como faço para pegar o valor daquele nó ? echo $xml[ 'data-nascimento' ]->idade; Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Setembro 13, 2010 Tipo João , eu to utilizando a variavel $DadosEnvio e quando coloco [' data-nascimento ']->idade ele nao da valor algum. será que estou errando em algo ? vou mandar meu codigo. <?php function curl($xml,$nome){ /** * Iniciando CURL */ $curl = curl_init(); /** * Verificamos se o recurso CURL foi criado com êxito */ if ( is_resource( $curl ) ){ curl_setopt( $curl , CURLOPT_HEADER , 0 ); curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, 0); curl_setopt( $curl , CURLOPT_RETURNTRANSFER , 1 ); curl_setopt( $curl , CURLOPT_FOLLOWLOCATION , 0 ); curl_setopt( $curl , CURLOPT_URL , 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do' ); curl_setopt( $curl , CURLOPT_POST , 1 ); curl_setopt( $curl , CURLOPT_POSTFIELDS , http_build_query( array( 'mensagem' => $xml ) ) ); $xml_captura = curl_exec( $curl ); $ern = curl_errno( $curl ); $err = curl_error( $curl ); curl_close( $curl ); if ( (bool) $ern ){ echo 'Ocorreu um erro[' , $ern , ']: ' , $err; } else { //var_dump( $xml_captura , $ern , $err ); $DadosEnvio = simplexml_load_string($xml_captura); if ($DadosEnvio !== FALSE){ echo $DadosEnvio['dados-pedido']->valor; foreach( $DadosEnvio as $c => $v ) // recupera valores { $c = str_replace( array("-"), array(""), $c); //para remover os - da variavel a ser criada $$c = $v; echo $c."<br>"; } echo $DadosEnvio->tid."<br>"; echo $DadosEnvio->autenticacao->codigo."<br>"; echo $DadosEnvio->autorizacao->lr."<br>"; // suporteweb@cielo.com.br Att daniela gonçalves //var_dump($DadosEnvio); echo "<br><strong>".$nome. "</strong><br><br>"; //echo $DadosEnvio->dadospedido->numero . " <br> " . $DadosEnvio->pan . "<br>"; print_r($DadosEnvio); echo "<div style='border-bottom:1px solid #000'></div>"; } } } else { echo 'erro'; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Haz 3 Denunciar post Postado Setembro 13, 2010 Coloque entre chaves: echo $xml->{'data-nascimento'}->idade; Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Setembro 14, 2010 Valuw Haz , funcionou direitinho ;) Compartilhar este post Link para o post Compartilhar em outros sites