Запрос 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";
?>
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, '<'
, итак, я сделал следующее исправление:
<?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.