如何讀取xml文件,根據xml節點屬性查詢並輸出xml文件


主要是應用SimpleXML和遞歸函數來根據key值來查詢,並將結果以xml格式輸出。

<?php 
header("Content-type: text/xml");
//以xml格式輸出文件
@$key=$_GET['key'];
$find=false;
//echo $key."<br>";
$xml = simplexml_load_file('codetree.xml'); 
$part = $xml->tree; 
foreach ( $part as $content ) 
{
 //如果查找到了,顯示
  if ($content['key']==$key)    
  {
      display($content);
      exit();
  }
  //如果沒找到,繼續查找
  else
  {
      findnext($content,$key);
  }
}

//顯示數據
function display($value)
{
    foreach($value as $val)
    {
        if($val["key"]!="")
        {
            echo '<tree text="'.$val["text"].'" key="'.$val['key'].'">'."\r\n";
        }
        else
        {
            echo '<tree text="'.$val["text"].'" />'."\r\n";
        }
        display($val);
    }
    if($value["key"]!="")
    { echo "</tree> \r\n"; }
}

function findnext($value,$key)
{
    foreach($value as $val)
    {
          //如果查找到了,顯示
          if ($val['key']==$key)    
          {
              
              echo '<tree text="'.$val["text"].'" key="'.$val['key'].'">'."\r\n";        
              display($val);
              exit();
          }
          //如果沒找到,繼續查找
          else
          {
              findnext($val,$key);
          }
    }
}

查詢key值為"0-0-0-1-0"的結果。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM