Array
(
)

Fazer leitura de XML com php, está dando erro, alguém pode ajudar?

PHP
Cleyton Caetano
   - 02 mai 2015

Olá pessoal, estou fazendo uma integração do meu sistema de vendas com uma plataformas de pagamentos on line, e eles usam XML, até certo momento ocorreu tudo bem até que eu precisei usar o bendito XML pra inserir os dados no meu banco de dados, e está dando erro!
é o seguinte!
tenho o seguinte código que é o que o site fornece como exemplo para integração.
#Código<?php
$url = "https://go.gerencianet.com.br/teste/api/pagamento/xml";
$token = "token";
$xml = "<?xml version='1.0' encoding='utf-8'?>
<integracao>
<itens>
<item>
<itemValor>500</itemValor>
<itemDescricao>Solicitacao de pagamento xml</itemDescricao>
</item>
</itens>
<cliente>
<nome>nome_cliente</nome>
<cpf>cpf_cliente</cpf>
<email>email_cliente</email>
<nascimento>dt_nascimento_cliente</nascimento>
<celular>cel_cliente</celular>
<logradouro>logradouro_cliente</logradouro>
<numero>numero_cliente</numero>
<bairro>bairro_cliente</bairro>
<cidade>cidade_cliente</cidade>
<cep>cep_cliente</cep>
<estado>estado_cliente</estado>
</cliente>
</integracao>";

$xml = str_replace(array("\n", "\r", "\t"), '', $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("token" => $token, "dados" => $xml);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);

curl_close($ch);

echo "<xmp>".$response."</xmp>";
?>

ele me gera o seguinte XML
#Código<?xml version="1.0" encoding="utf-8"?>
<integracao><status>2</status><resposta><transacao>11111</transacao><link>https://go.gerencianet.com.br/?b=11111/#/teste/pagar/11111-11111-11111</link></resposta></integracao>

e estou tentando fazer a leitura assim!
#Código<?php
// Faz o load do arquivo XML e retorna um objeto
$arquivo_xml = simplexml_load_file('arquivo.php');

echo $arquivo_xml->resposta->link;
?>

ai é onde mora o problema, sempre da erro.
o erro que recebo sempre é este!
#Código
Warning: simplexml_load_file() [function.simplexml-load-file]: t.php:27: parser error : Extra content at the end of the document in /home/u330150777/public_html/l.php on line 3
Warning: simplexml_load_file() [function.simplexml-load-file]: </integracao>"; in /home/u330150777/public_html/l.php on line 3
Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in /home/u330150777/public_html/l.php on line 3

mas se eu pego o XML que gera no arquivo PHP e insiro em um arquivo .XML funciona tudo normal, eu podia até criar um arquivo XML e reescrever ele com esse código.
#Código<?php
// Escreve o arquivo
$fp = fopen('meus_links.xml', 'w+');
fwrite($fp, $xml);
fclose($fp);
?>

mas eu queria evitar dar essa volta toda e ir direto ao ponto, alguém sabe e pode ajudar?