【问题标题】:Load XML with PHP, pass the XML to browser [closed]使用 PHP 加载 XML,将 XML 传递给浏览器 [关闭]
【发布时间】:2011-11-12 19:37:38
【问题描述】:

我想使用 PHP 从 外部链接 加载 XML,然后将 XML 文件传递​​到我的浏览器,并在其中使用 jQuery 对其进行解析。

我想从此链接加载 xml: http://api.stlouisfed.org/fred/series/observations?series_id=GDP&api_key=f59d7e0739a5b0745a987b34993bdea7

感谢您的帮助!

【问题讨论】:

    标签: 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 中使用更有意义。

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-19
        • 1970-01-01
        • 2011-09-13
        • 1970-01-01
        • 1970-01-01
        • 2011-09-07
        • 2017-07-03
        相关资源
        最近更新 更多