Запрос URL-адрес XML


Я пытаюсь получить некоторые данные из URL с кодом XML, но это дает ошибку. Следует codigo

 <?php
$simples = new SimpleXMLElement($xml);
$xml = simplexml_load_file('http://vallesw.azurewebsites.net/api/municipiosfranqueados');

//Pega o segundo...
$segundo = $simples->NewDataSet->CarregaMunicipioFranqueados[1];
//Pega o codigo
$codigo = $segundo->{'Codigo_Municipio'};
$municipio = $segundo->Municipio;

echo "Esse é o codigo: $codigo";
echo "<br/>";
echo "Esse é o municipio: $municipio";
?>
Author: Robsonrrn, 2017-04-21

1 answers

, То Друг, в этой первой строке у нас уже есть ошибка, вы вызываете переменную $xml - , еще не существует.

<?php
$simples = new SimpleXMLElement($xml);
$xml = simplexml_load_file('http://vallesw.azurewebsites.net/api/municipiosfranqueados');

Над созданием объекта simpleXMLElement xml-документа, при использовании simplexml_load_file() он делает чтение документа XML и возвращает объект типа SimplexmlElement (Примечание: если XML был сформирован он возвращает false), то нет необходимости создавать экземпляр одного SimpleXMLElement, как это было сделано на первой линии, достаточно сделать:

<?php
$xml = simplexml_load_file('http://vallesw.azurewebsites.net/api/municipiosfranqueados');
$segundo = $xml->NewDataSet->CarregaMunicipioFranqueados[1];
$codigo = $segundo->Codigo_Municipio;
$municipio = $segundo->Municipio;

echo "Esse é o codigo: $codigo";
echo "<br/>";
echo "Esse é o municipio: $municipio";
?>

Только, что есть одна деталь, я сделал тест здесь, и я понял, еще одна проблема, проблема в content-type заголовок из paginá, который отображает xml, и когда - simplexml_load_file($url) несла xml, давал error: Start tag expected, '&lt;', итак, я сделал следующее исправление:

<?php
$url = "http://vallesw.azurewebsites.net/api/municipiosfranqueados";
$xml = file_get_contents($url); // Pega o conteúdo da url e armazena em string
$xml = stripcslashes($xml); // remove  '\n','\r' da string
$xml = str_replace("\"", "",$xml); // remover aspas dulas do inicio e fim da string.
$xml = simplexml_load_string($xml); // ler a string e retorna um objeto SimpleXMLElement
$segundo  = $xml->CarregaMunicipioFranqueados[1];
$codigo   = $segundo->Codigo_Municipio;
$municipio= $segundo->Municipio;
echo "Esse é o codigo: $codigo";
echo "<br/>";
echo "Esse é o municipio: $municipio";
?>

, Надеюсь, смог помочь man.

 2
Author: Victor Danilo, 2017-04-22 04:52:33