无法在 DOMDocument 中加载 URL
Unable to load URL in DOMDocument
我有以下 URL :
http://localhost:8000/PHPTrialProject/showPlace.php?lat=28.6139391&lng=77.20902120000005
我已从中提取查询字符串并存储在两个 PHP 变量中:
$latitude=$_GET['lat'];
$longitude=$_GET['lng'];
echo("latitude is : ".$latitude);
echo("longitude is : ".$longitude);
然后我将它们附加到我的下一个 URL 并尝试将其加载到 DOMDocument 中。我尝试了两种方法:
$url="http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude;
$xml3 = $url;
$xmlDoc3 = new DOMDocument();
$xmlDoc3->load($xml3);
和
$xml3 = ("http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude);
$xmlDoc3 = new DOMDocument();
$xmlDoc3->load($xml3);
但是,他们都给我以下错误:
警告:DOMDocument::load():需要开始标记,在 http://api.openweathermap.org/data/2.5/weather?lat=28.6139391&lon=77.20902120000005 中找不到“<”,行:C:\xampp\htdocs\PHPTrialProject\showPlace.php 中的第 1 行98
如何解决?
问题是您只是向它发送 URL 而不是页面本身,使用 file_get_contents or cURL 之一,然后将其发送到您的 DOM 文档。
E.G
$xml = file_get_contents("http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude);
$xmlDoc3 = new DOMDocument();
$xmlDoc3->load($xml);
我有以下 URL : http://localhost:8000/PHPTrialProject/showPlace.php?lat=28.6139391&lng=77.20902120000005
我已从中提取查询字符串并存储在两个 PHP 变量中:
$latitude=$_GET['lat'];
$longitude=$_GET['lng'];
echo("latitude is : ".$latitude);
echo("longitude is : ".$longitude);
然后我将它们附加到我的下一个 URL 并尝试将其加载到 DOMDocument 中。我尝试了两种方法:
$url="http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude;
$xml3 = $url;
$xmlDoc3 = new DOMDocument();
$xmlDoc3->load($xml3);
和
$xml3 = ("http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude);
$xmlDoc3 = new DOMDocument();
$xmlDoc3->load($xml3);
但是,他们都给我以下错误:
警告:DOMDocument::load():需要开始标记,在 http://api.openweathermap.org/data/2.5/weather?lat=28.6139391&lon=77.20902120000005 中找不到“<”,行:C:\xampp\htdocs\PHPTrialProject\showPlace.php 中的第 1 行98
如何解决?
问题是您只是向它发送 URL 而不是页面本身,使用 file_get_contents or cURL 之一,然后将其发送到您的 DOM 文档。
E.G
$xml = file_get_contents("http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude);
$xmlDoc3 = new DOMDocument();
$xmlDoc3->load($xml);