Ler resposta de XML e apresentar somente o link para o usuário

Enviada por CHARLES CORRÊA 
CHARLES CORRÊA
Ler resposta de XML e apresentar somente o link para o usuário
18 de November de 2012 às 06:46PM
Boa Noite pessoal

Olha eu tenho um código que estava trabalhando até aqui ele funciona

<?php
$xml = '<?xml version="1.0" encoding="utf-8"?>
<cobrancaonline>
<token>df2eb272597cbb2b66e232d64247edf9</token>
<clientes>
<cliente>
<email>beto.torresmmn@gmail.com</email>
<opcionais>
<nomeRazaoSocial>ALBRTO TORRES DE ALMEIDA CAMPOS</nomeRazaoSocial>
<cpfcnpj>01109687001</cpfcnpj>
<cep>91712210</cep>
<rua>RUA JOÃO DO COUTO</rua>
<numero>15</numero>
<bairro>BELÉM VELHO</bairro>
<complemento>CASA 03</complemento>
<estado>RS</estado>
<cidade>PORTO ALEGRE</cidade>
<retorno>98558</retorno>
</opcionais>
</cliente>
</clientes>
<itens>
<item>
<descricao>FATURA F125C698</descricao>
<valor>15300</valor>
<qtde>1</qtde>
</item>
</itens>
<vencimento>15/07/2057</vencimento>
<opcionais>
<frete>
<tipo>calcular</tipo>
<pesoOuValor>0</pesoOuValor>
</frete>
<continuarCobrando>0</continuarCobrando>
<descontoSobreTotal>0</descontoSobreTotal>
<contra>s</contra>
<btaxa>n</btaxa>
</opcionais>
</cobrancaonline>';
$xml = str_replace("\n",'',$xml); //o xml não poderá conter quebras de linha
$xml = str_replace("\r",'',$xml);
$xml = str_replace("\t",'',$xml);
$url = 'https://v3.contagerencianet.com.br/rest/xml/cobrancaonline/emite/xml';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);

$data = array('xml' => $xml);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, 'Seu agente');

$resposta = curl_exec($ch);
curl_close($ch);

echo $resposta;

?>


gostaria de pagar o link que aparece na resposta e apresentar na tela ao invés de aparecer o xml da resposta do envio de dados.

Alguém pode me ajudar?
Marcos Regis
Re: Ler resposta de XML e apresentar somente o link para o usuário
20 de December de 2012 às 07:23PM
Use a classe SimpleXML para transformar a resposta em um objeto que você pode usar funções de iteração.

Ex.:
$xml= simplexml_load_string($resposta);
echo $xml->url;


Dê uma olhada no manual do PHP.
rodolforej
Re: Ler resposta de XML e apresentar somente o link para o usuário
09 de January de 2013 às 09:45PM
Marcos sera que poderia me dar uma ajuda tambem, nao entendo de php mais precisava criar um codigo que me ajudasse a manipular alguns dados vindos de uma url com final .xml.
peguei esse exemplo na internet, porem ele faz um loop e imprimi na tela os valores um embaixo do outro, gostaria de saber se eu consigo por exemplo criar uma variavel para cada "tag" ex: a "tag" <Valor> ela vai aparecer 4 vezes entao eu queria dar nome para cada uma assim poderia coloca-los onde eu quizesse dentro de uma tabelinha que montei e tal.. seria possivel aqui vai o codigo que tenho..
obrigado..

<?php
$xml = simplexml_load_file("http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=&sDsSenha=&sCepOrigem=71939360&sCepDestino=72151613&nVlPeso=1&nCdFormato=1&nVlComprimento=20&nVlAltura=5&nVlLargura=15&sCdMaoPropria=S&nVlValorDeclarado=200&sCdAvisoRecebimento=S&nCdServico=41106,40010,40290,40215&nVlDiametro=0&StrRetorno=xml");

// Faz um loop no arquivo XML criando as variáveis que
// representarão os dados no HTML logo mais abaixo
for($i=0; $i < count($xml->cServico); $i++) {
$Codigo = $xml->cServico[$i]->Codigo;
$Valor = $xml->cServico[$i]->Valor;
$PrazoEntrega = $xml->cServico[$i]->PrazoEntrega;
$ValorMaoPropria = $xml->cServico[$i]->ValorMaoPropria;
$ValorAvisoRecebimento = $xml->cServico[$i]->ValorAvisoRecebimento;
$ValorValorDeclarado = $xml->cServico[$i]->ValorValorDeclarado;
$EntregaDomiciliar = $xml->cServico[$i]->EntregaDomiciliar;
$EntregaSabado = $xml->cServico[$i]->EntregaSabado;
$Erro = $xml->cServico[$i]->Erro;
$MsgErro = $xml->cServico[$i]->MsgErro;


echo "Serviço - " . $Codigo ;
echo "</br>";
echo "Valor - " . $Valor ;
echo "</br>";
echo "Prazo entrega - " . $PrazoEntrega ;
echo "</br>";
echo "Valor Mão Propria - " . $ValorMaoPropria ;
echo "</br>";
echo "Valor Aviso Recebimento - " . $ValorAvisoRecebimento;
echo "</br>";
echo "Valor Valor Declarado - " . $ValorValorDeclarado ;
echo "</br>";
echo " Entrega Domiciliar - " . $EntregaDomiciliar ;
echo "</br>";
echo "Entrega Sabado - " . $EntregaSabado ;
echo "</br>";
echo "Erro - " . $Erro ;
echo "</br>";
echo "Msg Erro - " . $MsgErro ;
echo "</br>";

}



?>
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.