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

 更新时间:2018年05月02日 12:08:35   作者:MIn晓天  
这篇文章主要介绍了PHP简单实现解析xml为数组的方法,涉及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程序设计有所帮助。

相关文章

  • ThinkPHP3.2.3所有的单字母方法整理总结

    ThinkPHP3.2.3所有的单字母方法整理总结

    ThinkPHP3.2.3在以前是一款广受欢迎的PHP开发框架,现在虽然除了版本5和6,但仍有不少项目使用ThinkPHP3。ThinkPHP3中的字母函数是以字母开头的一类函数,其作用是非常丰富的,包括字符串处理、文件处理、日期时间处理以及HTTP协议处理等。
    2023-07-07
  • php 数组随机取值的简单实例

    php 数组随机取值的简单实例

    下面小编就为大家带来一篇php 数组随机取值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • 基于php实现的验证码小程序

    基于php实现的验证码小程序

    本文主要介绍了基于php实现的验证码小程序的具体实现方法,并做了详细注释,有利于理解与学习,需要的朋友一起来看下吧
    2016-12-12
  • JS实现php的伪分页

    JS实现php的伪分页

    假如某一个页面的数据很多,不方便全都显示出来,而且假设里面有个播放器,不希望在翻页的时候播放器会终止的话,就可以采用这个方法尽管可以用Ajax,但是在数据比较少的情况下,这个方法更有优势
    2008-05-05
  • PHP间隔一段时间执行代码的方法

    PHP间隔一段时间执行代码的方法

    这篇文章主要介绍了PHP间隔一段时间执行代码的方法,可实现每间隔一段时间自动执行某段代码的定时执行功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • Yii2中简单的场景使用介绍

    Yii2中简单的场景使用介绍

    这篇文章主要给大家介绍了关于Yii2中简单的场景使用的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来跟着小编一起学习学习吧。
    2017-06-06
  • php下删除一篇文章生成的多个静态页面

    php下删除一篇文章生成的多个静态页面

    php自定义函数之删除一篇文章生成的多个静态页面,可能有多页的文章,都是需要考虑到的。
    2010-08-08
  • PHP 可阅读随机字符串代码

    PHP 可阅读随机字符串代码

    此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。
    2010-05-05
  • php获取CSS文件中图片地址并下载到本地的方法

    php获取CSS文件中图片地址并下载到本地的方法

    这篇文章主要介绍了php获取CSS文件中图片地址并下载到本地的方法,可实现对网站上css文件中图片的抓取及下载到本地的功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP extract 将数组拆分成多个变量的函数

    PHP extract 将数组拆分成多个变量的函数

    extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。
    2010-06-06

最新评论