萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php實現xml轉換數組的方法示例

php實現xml轉換數組的方法示例

本文介紹了php實現xml轉換數組的方法示例,非常實用,有興趣的同學快來看看吧  代碼如下 復制代碼

<?php

$info= '<?xml version="1.0"encoding="utf-8"?>

      <data>

        <GeocoderSearchResponse>

          <status>OK</status>

          <result>

            <location>

              <lat>39.94921</lat>

              <lng>116.463619</lng>

            </location>

          <precise>0</precise>

          <confidence>50</confidence>

          <level>腳本</level>

          </result>

        </GeocoderSearchResponse>

        <GeocoderSearchResponse>

          <status>OK</status>

          <result>

            <location>

              <lat>39</lat>

              <lng>116</lng>

            </location>

          <precise>0</precise>

          <confidence>50</confidence>

          <level>腳本123</level>

          </result>

        </GeocoderSearchResponse>

      </data>';

$xml= simplexml_load_string($info);

functionxml2array($xmlobject) {

  if($xmlobject) {

    foreach((array)$xmlobjectas$k=>$v) {

      $data[$k] = !is_string($v) ? xml2array($v) :$v;

    }

    return$data;

  }

}

$data= xml2array($xml);

var_dump($data);

?>

運行結果如下:

 代碼如下 復制代碼

array(1) {

 ["GeocoderSearchResponse"]=>

 array(2) {

  [0]=>

  array(2) {

   ["status"]=>

   string(2)"OK"

   ["result"]=>

   array(4) {

    ["location"]=>

    array(2) {

     ["lat"]=>

     string(8)"39.94921"

     ["lng"]=>

     string(10)"116.463619"

    }

    ["precise"]=>

    string(1)"0"

    ["confidence"]=>

    string(2)"50"

    ["level"]=>

    string(6)"腳本"

   }

  }

  [1]=>

  array(2) {

   ["status"]=>

   string(2)"OK"

   ["result"]=>

   array(4) {

    ["location"]=>

    array(2) {

     ["lat"]=>

     string(2)"39"

     ["lng"]=>

     string(3)"116"

    }

    ["precise"]=>

    string(1)"0"

    ["confidence"]=>

    string(2)"50"

    ["level"]=>

    string(9)"腳本123"

   }

  }

 }

}

copyright © 萬盛學電腦網 all rights reserved