PHP 将xml文件解析为数组
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文件解析为数组相关推荐
- XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML
XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...
- XML - XML学习/XML文件解析器(C++)实现
XML - XML学习/XML文件解析器(C++)实现 XML概述 XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,用于定义其他与特定领域有关的, ...
- Android开发历程_18(XML文件解析)
前言 本文主要介绍在Android中怎样来解析XML文件.主要采用的是SAX机制,SAX全称为Simple API for XML,它既是一种接口,也是一个软件包.作为接口,SAX是事件驱动型XML ...
- java怎么xml文件解析_Java对Xml文件解析
JAVA 解析 XML 通常有两种方式,DOM 和 SAX. DOM 虽然是 W3C 的标准,提供了标准的解析方式,但它的解析效率一直不尽如人意,因为使用DOM解析XML时,解析器读入整个文档并构建一 ...
- Python3将xml文件解析为Python对象
一.说明 从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementB ...
- 【VOC格式xml文件解析】——Python
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/4/26 12:49 # @Author : @linlianqin # @S ...
- dom4j工具类_基于DOM4J的XML文件解析类
XML文件解析分四类方式:DOM解析:SAX解析:JDOM解析:DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于ja ...
- XML文件解析-DOM4J方式和SAX方式
最近遇到的工作内容都是和xml内容解析相关的. 1图片数据以base64编码的方式保存在xml的一个标签中,xml文件通过接口的方式发送给我,然后我去解析出图片数据,对图片进行进一步处理. 2.xml ...
- Android学习笔记之AndroidManifest.xml文件解析(摘自皮狼的博客)
Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它 ...
最新文章
- java输出数组中出现的次数最多的那个及次数
- UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
- js中将字符串转换成json的三种方式
- poj 3020 Antenna Placement(二分图最大匹配)
- VTK:几何对象之Hexahedron
- MongoDB 索引-9
- Fiori hide Header text in task list
- html中设置边框形状为齿状,在CSS中制作锯齿状的三角形边框
- Linux的timerfd分析
- 生成淘口令发现的一个趣事 c#
- 如何判断企业微信是否在线?
- Python学习笔记哈哈哈
- AndroidSwipeLayout:最强大的 Swipe Layout
- STEPN 新手入门及进阶
- 移动APP持续交付系列之云构建价值分析
- 『AidLux工业检测PaaS平台』轻松解决AI工业质检换产难问题!
- 理解D3中的数据连接(data join)和选取(selection)是怎么工作的
- Android Swift iOS开发:语言与框架对比
- 内存不兼容,升级BIOS
- nand flash基础——基本操作
热门文章
- Java:Nginx使用
- 举例说明如何使用【聚合数据】的API接口
- 字符串与时间的格式转换
- oracle中clob类型的使用
- git删除未监视的文件(untracked files)命令用法
- 【华为云技术分享】小熊派IoT开发板华为物联网操作系统LiteOS内核实战教程01-IoT-Studio介绍及安装
- make[2]:***没有规则制作目标XXX,由XXX需求。停止。
- Hank的无线802.11学习笔记--part 3
- JS---event事件
- 聚类算法(五)——层次聚类 linkage (含代码)