首页博客网络编程
使PHP在几秒钟内读取XML文件并获取数据
摘要 要使用PHP代码读取XML数据字符串,需要AJAX。 AJAX、XML 和 PHP 的组合使开发人员能够快速查找和访问他们希望快速检索的数据。

文件和各种数据库对于存储数据很有用,但随着它们变大,它们也可能变得更容易迷失在其中。手动查找在某些特定时刻必须使用的信息可能需要很长时间。问题是,当你需要某样东西时,你通常会很快需要它。

使 PHP 读取 XML 文件可以帮助您快速检索数据。XML 是保存数据字符串的最常见格式之一。如果您也喜欢它,可以使用 AJAX 读取 XML 文件。换句话说,AJAX 可以帮助您连接保存信息的 XML 文档并快速查找确切的数据。

内容

读取 XML 文件:主要提示

  • 通过使用 AJAX,您可以与 XML 文档进行交互通信,并使 PHP 读取 XML 文件。

  • 本教程中的示例将向您展示如何使用 AJAX、XML 和 PHP 快速获取 XML 数据。

第一步:界面

在学习如何使PHP读取XML文件时,让我们坚持使用CD列表作为数据的想法。要为读取 XML 的 PHP 创建一个 Web 应用程序,我们首先需要创建接口。它将包括一个下拉列表和一个表格容器:这是显示有关所选相册的信息的位置。

从下拉列表中选择 CD 后,将调用函数。没有它,我们的PHP就没有机会读取XML文件。事件触发指定的函数:show_cd()onchange

复制

<html>
  <head>
    <script>    function showCD(str) {      if (str == '') {
        document.getElementById("txt_hint").innerHTML = '';        return;
      } 
      if (window.XMLHttpRequest) {        // script for browser version above IE 7 and the other popular browsers (newer browsers)
        xmlhttpreq = new XMLHttpRequest();
      } else {  
        // script for the IE 5 and 6 browsers (older versions)
        xmlhttpreq = new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttpreq.onreadystatechange = function() {        //check if server response is ready  
        if (this.readyState == 4 && this.status == 200) {
          document.getElementById("txt_hint").innerHTML = this.responseText;
        }
      }
      xmlhttpreq.open("GET", "get_cd.php?q="+str, true);
      xmlhttpreq.send();
    }
    </script>
  </head>
  <body>

    <form>
      Select a CD:
      <select name="cds" onchange="show_cd(this.value)">
      <option value="">Select a CD:</option>
      <option value="Alice Cooper">Alice Cooper</option>
      <option value="John Lennon">John Lennon</option>
      <option value="Frank Zappa">Frank Zappa</option>
      </select>
    </form>
    <div id="txt_hint"><b>This is where the info about CDs goes!</b></div>

  </body>
</html>

然后,该函数执行以下操作:show_cd()

  • 检查是否已从列表中选择 CD。

  • 创建一个 XMLHttpRequest 对象。

  • 设置准备好服务器响应后准备执行的函数。

  • 将请求发送到位于我们服务器上的 PHP 文档 (get_cd.php)。

注意:将 q 参数应用于 get_cd.php?q=“+str 时要注意。

第二步:get_cd.php文件

在服务器上,我们有一个名为 get_cd.php 的 PHP 文件,以及一个包含有关音乐专辑的所有必要数据的 XML 文件。我们称它为cd_list.xml以适应其内容。现在,我们可以让PHP读取XML文件。

PHP 代码将分三个阶段工作。首先,它将加载必要的 XML 文件。其次,它将通过运行查询从中检索必要的数据。最后,结果将以HTML的形式呈现:

复制

<?php
  $q = $_GET["q"];

  $xml_doc = new DOMDocument();
  $xml_doc->load("cd_list.xml");

  $x = $xml_doc->getElementsByTagName('MUSICIAN');  for ($i=0; $i< = $x->length-1; $i++) {    //Set only to process nodes from elements
    if ($x->item($i)->nodeType==1) {      if ($x->item($i)->childNodes->item(0)->nodeValue == $q) {
        $y=($x->item($i)->parentNode);
      }
    }
  }

  $cd = ($y->childNodes);  for ($i=0; $i<$cd->length; $i++) { 
    //Set only to process nodes from elements
    if ($cd->item($i)->nodeType==1) {      echo("<b>" . $cd->item($i)->nodeName . ":</b> ");      echo($cd->item($i)->childNodes->item(0)->nodeValue);      echo("<br>");
    }
  }?>

一旦使用 JavaScript 将查询发送到 PHP,就会发生以下情况:

  • XML DOM 对象由 PHP 生成。

  • 在所有元素中,可以找到合适的(与从 JavaScript 接收的名称匹配)的元素。<musician>

  • 有关所选 CD 的信息通过将其发送到容器来输出。txt_hint

  • 我们庆祝我们制作PHP读取XML文件是多么漂亮。

读取 XML 文件:摘要

  • 要使用PHP代码读取XML数据字符串,需要AJAX。

  • AJAX、XML 和 PHP 的组合使开发人员能够快速查找和访问他们希望快速检索的数据。


声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/195

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位