php將xml文件轉換成數組

以下我們是直接引用的一個url地址作爲xml的接收對象,實際情況中你也許自己有自己的xml,只需要先將xml轉化成字符串,然後引用類來進行處理就可以了。

以下是xml文件

 

<?xml version="1.0" encoding="utf-8" ?> 
- <docs>
- <persondetail>
- <personname>
- <![CDATA[ "張先生 研發部經理.."
  ]]> 
  </personname>
- <!-- 人才姓名
  --> 
- <personurl>
- <![CDATA[ "http%3A%2F%2Fkg.dqjob88.com%2FmyNew%2Fresume%2FResumePreview.php%3FResumeId%3Djob10011112337008%26gjTag%3D0%26r%3Daca9bac124"
  ]]> 
  </personurl>
- <!-- 人才的鏈接(需轉碼)
  --> 
- <personjob>
- <![CDATA[ "研發部經理/技術主管"
  ]]> 
  </personjob>
- <!-- 意向職位
  --> 
- <personsex>
- <![CDATA[ "女"
  ]]> 
  </personsex>
- <!-- 性別
  --> 
- <personzy>
- <![CDATA[ "電氣自動化"
  ]]> 
  </personzy>
- <!-- 專業
  --> 
- <personschool>
- <![CDATA[ "重慶科技學院"
  ]]> 
  </personschool>
- <!-- 畢業學校
  --> 
- <personupdate>
- <![CDATA[ "2012-03-23"
  ]]> 
  </personupdate>
- <!-- 更新日期
  --> 
  </persondetail>
- <persondetail>
- <personname>
- <![CDATA[ "趙先生 高中 總工.."
  ]]> 
  </personname>
- <!-- 人才姓名
  --> 
- <personurl>
- <![CDATA[ "http%3A%2F%2Fkg.dqjob88.com%2FmyNew%2Fresume%2FResumePreview.php%3FResumeId%3Djob1001781291708%26gjTag%3D1%26r%3Dac77374c24"
  ]]> 
  </personurl>
- <!-- 人才的鏈接(需轉碼)
  --> 
- <personjob>
- <![CDATA[ "總工程師/副總工程師"
  ]]> 
  </personjob>
- <!-- 意向職位
  --> 
- <personsex>
- <![CDATA[ "女"
  ]]> 
  </personsex>
- <!-- 性別
  --> 
- <personzy>
- <![CDATA[ "電氣工程"
  ]]> 
  </personzy>
- <!-- 專業
  --> 
- <personschool>
- <![CDATA[ "阜寧中學"
  ]]> 
  </personschool>
- <!-- 畢業學校
  --> 
- <personupdate>
- <![CDATA[ "2010-04-21"
  ]]> 
  </personupdate>
- <!-- 更新日期
  --> 
  </persondetail>
- <persondetail>
- <personname>
- <![CDATA[ "常先生 本科 電氣.."
  ]]> 
  </personname>
- <!-- 人才姓名
  --> 
- <personurl>
- <![CDATA[ "http%3A%2F%2Fkg.dqjob88.com%2FmyNew%2Fresume%2FResumePreview.php%3FResumeId%3Djob1001222970408%26gjTag%3D2%26r%3Dac2205df24"
  ]]> 
  </personurl>
- <!-- 人才的鏈接(需轉碼)
  --> 
- <personjob>
- <![CDATA[ "電氣工程師/技術員"
  ]]> 
  </personjob>
- <!-- 意向職位
  --> 
- <personsex>
- <![CDATA[ "女"
  ]]> 
  </personsex>
- <!-- 性別
  --> 
- <personzy>
- <![CDATA[ "法學"
  ]]> 
  </personzy>
- <!-- 專業
  --> 
- <personschool>
- <![CDATA[ "山東科技大學"
  ]]> 
  </personschool>
- <!-- 畢業學校
  --> 
- <personupdate>
- <![CDATA[ "2009-10-27"
  ]]> 
  </personupdate>
- <!-- 更新日期
  --> 
  </persondetail>
- <persondetail>
- <personname>
- <![CDATA[ "劉先生 大專 工廠.."
  ]]> 
  </personname>
- <!-- 人才姓名
  --> 
- <personurl>
- <![CDATA[ "http%3A%2F%2Fkg.dqjob88.com%2FmyNew%2Fresume%2FResumePreview.php%3FResumeId%3Djob1001345792208%26gjTag%3D0%26r%3Dac34c39924"
  ]]> 
  </personurl>
- <!-- 人才的鏈接(需轉碼)
  --> 
- <personjob>
- <![CDATA[ "工廠廠長/副廠長/工廠經理"
  ]]> 
  </personjob>
- <!-- 意向職位
  --> 
- <personsex>
- <![CDATA[ "女"
  ]]> 
  </personsex>
- <!-- 性別
  --> 
- <personzy>
- <![CDATA[ "行政管理"
  ]]> 
  </personzy>
- <!-- 專業
  --> 
- <personschool>
- <![CDATA[ "廈門大學"
  ]]> 
  </personschool>
- <!-- 畢業學校
  --> 
- <personupdate>
- <![CDATA[ "2008-09-29"
  ]]> 
  </personupdate>
- <!-- 更新日期
  --> 
  </persondetail>
  </docs>
class xml2array{
   public $str = '';
   public $type = 0; //0爲字符串,1爲文件
  
   function readxml(){
    if($this->type==1){
     $this->xmlstr = simplexml_load_file($this->str);//simplexml_load_file()作用是:將一個XML文檔裝載入一個對象中。
    }else{
     $this->xmlstr = simplexml_load_string($this->str);
    }
   }
   function xarray(){
    $this->readxml();
    $arrstr = array();
    
    $str = serialize($this->xmlstr); //serialize()  產生一個可存儲的值的表示
    $str = str_replace('O:16:"SimpleXMLElement"', 'a', $str);
    $arrstr = unserialize($str); //unserialize()  從已存儲的表示中創建 PHP 的值
     return $arrstr;
 
   }
  
  }
  $url="http://kg.dqjob88.com/oem/openxmlrc.php";
$xml_str=file_get_contents($url);
$xml_str=str_replace("\"]]>","",$xml_str);  
$xml_str=str_replace("<![CDATA[\"","",$xml_str); 
  //對象引用
  $t=new xml2array();
     $t->str=$xml_str;
  $i=1;
     $m=$t->xarray();
  $a=$m['persondetail'];foreach($a as $key =>$value)
  {
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章