problema com XML PHP

13/10/2014

0

PHP

<?php
$url = "https://go.gerencianet.com.br/api/pagamento/xml HTTP/1.1";
$token = "7DFC2DEB7A5E0775920d4350DBBFA1F4CDAAF766630F";
$xml = "<?xml version='1.0' encoding='utf-8'?>
<integracao>
<itens>
<item>
<itemValor>12990</itemValor>
<itemDescricao>descricao</itemDescricao>
</item>
</itens>
<solicitarEndereco>s</solicitarEndereco>
</integracao>";
$xml = str_replace(array("\n", "\r", "\t"), '', $xml);
$ch = curl_init();
$CURLOPT_URL=curl_setopt($ch, CURLOPT_URL, $url);
$CURLOPT_RETURNTRANSFER=curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$CURLOPT_MAXREDIRS=curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
$CURLOPT_AUTOREFERER=curl_setopt($ch, CURLOPT_AUTOREFERER, true);
$data = array("token" => $token, "dados" => $xml);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);
$string="<xmp>".$response."</xmp>";
$xmld=simplexml_load_string($string);
?>
erro acontece quando insiro essa ultima linha:
$xmld=simplexml_load_string($string);

erro é o seguinte:
Warning: simplexml_load_string(): Entity: line 1: parser error : XML declaration allowed only at the start of the document in /home/rootdw/public_html/pasta1/produto.php on line 27

ele exige que aquela linha de comando seja posta no inicio, e quando coloco o erro de fato some.
mas preciso que elas seja posta depois, pois se analisar o código verá que preciso recolher os dados antes e depois passar para a var $string, se colocar no inicio naturalmente ela fica vazia..
obrigado!
Alexandre

Alexandre

Responder

Posts

13/10/2014

Alexandre

bump
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar