PHP 从远程 URL 获取 XML,而不是文件



我正在尝试从这个网址获取xml数据。

http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V我可以直接在浏览器栏中输入网址并获得所需的结果。

我正在尝试使用以下代码来获取 xml 并将其返回到我的浏览器,但现在在正确的域中,因此可以通过 javascript 访问它。

<!DOCTYPE html>
<html>
<head>
    <link type='text/css' rel='stylesheet' href='style.css'/>
    <title>Get Started!</title>
</head>
<body>
    <p><?php 
    /*echo file_get_contents("http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V");*/
    echo simplexml_load_file("http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V");
    ?></p>
</body>
</html>

我尝试过file_get_contents和simplexml_load_file但两者都没有成功

我以为问题出在url末尾没有文件的事实。到目前为止,以下均无效

simplexml_load_file()返回对象而不是XML字符串。即便如此,使用您当前的代码,XML 也会在 HTML 中丢失。以下内容等效于直接访问 URL:

header('Content-type: application/xml');
echo file_get_contents('http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V');

若要确保可以分析 XML,请尝试此操作。它加载 XML 并打印出根节点的名称 - 在本例中为 ROOT

$xml = simplexml_load_file($url); //retrieve URL and parse XML content
echo $xml->getName(); // output name of root element

这有帮助吗?

请参阅文档

http://php.net/manual/en/simplexml_load_file

以打印输出为例

<?php
    $xml = simplexml_load_file('http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V');
    print_r($xml);
?>

或查看手册

http://php.net/manual/en/function.echo.php

通过 file_get_contents() 输出字符串返回

<?php
    $xml = file_get_contents("http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V");
    echo $xml;
?>

试试这个...为我工作..简单易行..

<?php
 $url=file_get_contents('http://www.w3schools.com/php/note.xml');
 $xml = new SimpleXMLElement($url);
 echo $xml->to;
 ?>

相关内容

  • 没有找到相关文章