SimpleXML扩展在解析和操作XML文档时非常实用,本文将讨论如何使用php SimpleXML解析xml文件。

首先,让我们看一下使用SimpleXML扩展将XML内容转换为数组所需遵循的步骤。

  • 将xml文件转换为字符串:  使用php file_get_contents()函数将整个xml文件作为字符串读取并存储到变量中。
  • 将字符串转换为对象: 将字符串转换为对象,可以通过PHP的一些内置函数simplexml_load_string()轻松完成。
  • 将对象转换为JSON:  json_encode()函数将对象,数组的数据格式转换为json格式的数据
  • 解码JSON对象:  json_decode()函数解码JSON字符串。它将JSON编码的字符串转换为PHP变量。

php解析xml文件需要使用到的函数

file_get_contents():

file_get_contents() 函数把整个xml文件读入一个字符串中

simplexml_load_string():

simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。

simplexml_load_file():

simplexml_load_file() 函数把 XML 文档载入对象中。如果失败,则返回 false。

json_encode():

json_encode函数主要用来将数组和对象,转换为json格式。

json_decode():

json_decode函数用于将json文本转换为相应的PHP数据结构.

PHP将xml文件解析为数组 - 示例

xml文件abc.xml如下:
<?xml version='1.0'?>
<userdb><firstname name='Alex'><symbol>AL</symbol><code>A</code></firstname><firstname name='Sandra'><symbol>SA</symbol><code>S</code></firstname>
</userdb>

php代码:

<?php
// xml file path$path = "abc.xml";$xmlfile = file_get_contents($path);$new = simplexml_load_string($xmlfile);$jsonfile = json_encode($new);$myarray = json_decode($jsonfile, true);print_r($myarray);
?>

运行结果:

Array
([firstname] => Array([0] => Array([@attributes] => Array([name] => Alex)[symbol] => AL[code] => A)[1] => Array([@attributes] => Array([name] => Sandra)[symbol] => SA[code] => S))
)

以上是本文的全部类容,感谢阅读,希望能帮到大家。更多教程请访问码农之家

PHP 将xml文件解析为数组相关推荐

  1. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

  2. XML - XML学习/XML文件解析器(C++)实现

    XML - XML学习/XML文件解析器(C++)实现 XML概述 ​ XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,用于定义其他与特定领域有关的, ...

  3. Android开发历程_18(XML文件解析)

    前言  本文主要介绍在Android中怎样来解析XML文件.主要采用的是SAX机制,SAX全称为Simple API for XML,它既是一种接口,也是一个软件包.作为接口,SAX是事件驱动型XML ...

  4. java怎么xml文件解析_Java对Xml文件解析

    JAVA 解析 XML 通常有两种方式,DOM 和 SAX. DOM 虽然是 W3C 的标准,提供了标准的解析方式,但它的解析效率一直不尽如人意,因为使用DOM解析XML时,解析器读入整个文档并构建一 ...

  5. Python3将xml文件解析为Python对象

    一.说明 从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementB ...

  6. 【VOC格式xml文件解析】——Python

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/4/26 12:49 # @Author : @linlianqin # @S ...

  7. dom4j工具类_基于DOM4J的XML文件解析类

    XML文件解析分四类方式:DOM解析:SAX解析:JDOM解析:DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于ja ...

  8. XML文件解析-DOM4J方式和SAX方式

    最近遇到的工作内容都是和xml内容解析相关的. 1图片数据以base64编码的方式保存在xml的一个标签中,xml文件通过接口的方式发送给我,然后我去解析出图片数据,对图片进行进一步处理. 2.xml ...

  9. Android学习笔记之AndroidManifest.xml文件解析(摘自皮狼的博客)

    Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它 ...

最新文章

  1. java输出数组中出现的次数最多的那个及次数
  2. UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
  3. js中将字符串转换成json的三种方式
  4. poj 3020 Antenna Placement(二分图最大匹配)
  5. VTK:几何对象之Hexahedron
  6. MongoDB 索引-9
  7. Fiori hide Header text in task list
  8. html中设置边框形状为齿状,在CSS中制作锯齿状的三角形边框
  9. Linux的timerfd分析
  10. 生成淘口令发现的一个趣事 c#
  11. 如何判断企业微信是否在线?
  12. Python学习笔记哈哈哈
  13. AndroidSwipeLayout:最强大的 Swipe Layout
  14. STEPN 新手入门及进阶
  15. 移动APP持续交付系列之云构建价值分析
  16. 『AidLux工业检测PaaS平台』轻松解决AI工业质检换产难问题!
  17. 理解D3中的数据连接(data join)和选取(selection)是怎么工作的
  18. Android Swift iOS开发:语言与框架对比
  19. 内存不兼容,升级BIOS
  20. nand flash基础——基本操作

热门文章

  1. Java:Nginx使用
  2. 举例说明如何使用【聚合数据】的API接口
  3. 字符串与时间的格式转换
  4. oracle中clob类型的使用
  5. git删除未监视的文件(untracked files)命令用法
  6. 【华为云技术分享】小熊派IoT开发板华为物联网操作系统LiteOS内核实战教程01-IoT-Studio介绍及安装
  7. make[2]:***没有规则制作目标XXX,由XXX需求。停止。
  8. Hank的无线802.11学习笔记--part 3
  9. JS---event事件
  10. 聚类算法(五)——层次聚类 linkage (含代码)