6

我正在尝试从此 url 获取 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 末尾没有文件。到目前为止都没有工作

4

3 回答 3

7

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

这有帮助吗?

于 2013-09-13T13:32:57.253 回答
2

请参阅文档

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;
?>
于 2013-09-13T13:29:48.440 回答
0

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

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

 echo $xml->to;

 ?>
于 2016-08-16T13:28:29.660 回答