【问题标题】:Load XML with PHP, pass the XML to browser [closed]使用 PHP 加载 XML,将 XML 传递给浏览器 [关闭]
【发布时间】:2011-11-12 19:37:38
【问题描述】:
【问题讨论】:
标签:
php
jquery
xml
ajax
simplexml
【解决方案1】:
1 - 创建一个 PHP 函数来从链接中加载数据
function getXML()
{
$out = file_get_contents("http://api.stlouisfed.org/fred/series/observations?series_id=GDP&api_key=f59d7e0739a5b0745a987b34993bdea7");
echo $out;
}
2- 将其保存在文件中并命名,例如 XMLGetter.php
3-使用jquery函数从文件中获取数据并解析
$.ajax({
type: "GET",
url: "XMLGetter.php",
dataType: "xml",
success: function(xml) {
//parse XML here
}
});
【解决方案2】:
这是一个如何使用 SimpleXML 的示例:
<?php
$xml = simplexml_load_file("test.xml");
echo $xml->getName() . "<br />";
foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "<br />";
}
?>
您需要将该网址转换为字符串 (simplexml_load_string($loadedString);),最后您可以通过以下方式呈现它:
echo $xml->asXML();
【解决方案3】:
我在这里可能有点愚蠢......
为什么不直接从站点将 XML 加载到浏览器中?
即
[api.stlousfed.org] ---> [browser]
而不是
[api.stlousfed.org] ---> [your_server] ---> [browser]
另外,您可以在浏览器 javascript 中让您的生活更轻松的方法是在您的服务器上加载 XML,解析它,并将其转换为合理的 JSON 表示。然后您可以缓存 JSON 并将其发送到浏览器。发送的文件更小,浏览器解析更快,在 javascript 中使用更有意义。