PHP简单实现解析xml为数组的方法

本文实例讲述了PHP简单实现解析xml为数组的方法。分享给大家供大家参考,具体如下:

最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析方式

xmlDemo.xml文件:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<main xmlns=\"http://www.xiaoetongo.cn\" versionCode=\"1.0\">
<controller co=\"Aritles\">
<meth title=\"测试插件\" do=\"aritle\"/>
</controller>
<controller co=\"Ari\">
<meth title=\"测试插件\" do=\"ar\"/>
<meth title=\"测试插件\" do=\"a\"/>
</controller>
<install><![CDATA[]]></install>
<upgrade><![CDATA[]]></upgrade>
</main>

php代码:

<?php
$xmls=file_get_contents(\"xmlDemo.xml\");
$xml =simplexml_load_string($xmls);
$xmljson= json_encode($xml);
$xml=json_decode($xmljson,true);
var_dump($xml);

运行结果:

array(4) {
 [\"@attributes\"]=>
 array(1) {
  [\"versionCode\"]=>
  string(3) \"1.0\"
 }
 [\"controller\"]=>
 array(2) {
  [0]=>
  array(2) {
   [\"@attributes\"]=>
   array(1) {
    [\"co\"]=>
    string(7) \"Aritles\"
   }
   [\"meth\"]=>
   array(1) {
    [\"@attributes\"]=>
    array(2) {
     [\"title\"]=>
     string(12) \"测试插件\"
     [\"do\"]=>
     string(6) \"aritle\"
    }
   }
  }
  [1]=>
  array(2) {
   [\"@attributes\"]=>
   array(1) {
    [\"co\"]=>
    string(3) \"Ari\"
   }
   [\"meth\"]=>
   array(2) {
    [0]=>
    array(1) {
     [\"@attributes\"]=>
     array(2) {
      [\"title\"]=>
      string(12) \"测试插件\"
      [\"do\"]=>
      string(2) \"ar\"
     }
    }
    [1]=>
    array(1) {
     [\"@attributes\"]=>
     array(2) {
      [\"title\"]=>
      string(12) \"测试插件\"
      [\"do\"]=>
      string(1) \"a\"
     }
    }
   }
  }
 }
 [\"install\"]=>
 array(0) {
 }
 [\"upgrade\"]=>
 array(0) {
 }
}

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容