问一个关于xml转php 数组的问题
我现在要接收一个xml的内容,不是文件
接收的文件内容如下格式
?<ax>0000</ax><at>ax0000111222333442</at><ab>12345</ab><an>测试</an><ao>4021000028853283</ao><ad>20130828</ad><pmemo1>备注1</pmemo1><pmemo2>备注2</pmemo2><pmemo3>备注3</pmemo3></preq><br><br><br>怎么直接把这段代码转换为php数组,这个不是个文件,是个变量<br><br> </p>
<div class="topic-extra-info"> <div class="tag"> <span>xml</span> <span>php</span> <div class="social-share"> <span class="prompt">分享到:</span> <span class="social-share-buttons" data-title='【问一个关于xml转php 数组的问题】我现在要接收一个xml的内容,不是文件接收的文件内容如下格式?<?xml?version="1.0"?encoding="utf-8"?><pReq><ax>0000</ax...' data-pics=""></span> <br><font color="#FF8000">------解决方案--------------------</font><br>找一个xml_to_array的函数 比如 <br><br>http://www.cnblogs.com/heiing/archive/2009/12/31/1637015.html<br><br>然后使用它<br><br><pre class="brush: php"><br> function xml_to_array( $xml )<br>{<br> $reg = "/]*?>([\\x00-\\xFF]*?)/";<br> if(preg_match_all($reg, $xml, $matches))<br> {<br> $count = count($matches[0]);<br> $arr = array();<br> for($i = 0; $i {<br> $key = $matches[1][$i];<br> $val = xml_to_array( $matches[2][$i] ); // 递归<br> if(array_key_exists($key, $arr))<br> {<br> if(is_array($arr[$key]))<br> {<br> if(!array_key_exists(0,$arr[$key]))<br> {<br> $arr[$key] = array($arr[$key]);<div class="clear">
</div>