2009-09-04 104 views
2

我正在处理各种XML输入和输出,并且只需要像使用数组一样获取密钥和值。在PHP中轻松获取XML密钥和值

是否有一个简单的函数可以将xml转换为数组或者访问这些键和值,或者我是否完全错误地进行了这种操作?

<?php 
$xmlstr = " 
<key> 
    <parent1> 
     <child1>val1</child1> 
     <child2>val2</child2> 
    </parent1> 
    <parent2>val4</parent2> 
    <parent3> 
     <child1 var="1"> 
      <gchild> 
       <child>value</child> 
       <child>value</child> 
       <parent> 
        <child>value</child> 
       </parent> 
      </gchild> 
     </child1> 
    </parent3> 
</key>"; 

$xml = new SimpleXMLElement($xmlstr); 
$xmlarray= convertXMLtoArray($xml); 

echo $xmlarray[0]; //outputs: key 
echo $xmlarray['key'][1]; //outputs: parent2 or array(child1->val1, child2->...) 
echo $xmlarray['key']['parent1']['child1'][0]; //outputs: val1 
?> 

回答

4

simplexml_load_file

$xml = simplexml_load_file('test.xml'); 
var_dump($xml); 
+0

+1,这只是真棒! :) – 2009-09-04 04:46:49

+0

效果不错...但不喜欢 2009-09-04 05:04:17

+0

http://us3.php.net/manual/en/function.simplexml-load-file.php#84704 – 2009-09-04 05:31:51