PHP利用 JSON 将XML转换为数组
现在有一个uncletoo.xml的配置文件,格式如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<h6>Step 1: XML File</h6>
<?xml version='1.0'?>
<moleculedb>
<molecule name='Benzine'>
<symbol>ben</symbol>
<code>A</code>
</molecule>
<molecule name='Water'>
<symbol>h2o</symbol>
<code>K</code>
</molecule>
<molecule name='Parvez'>
<symbol>h2o</symbol>
<code>K</code>
</molecule>
</moleculedb>
|
1、读XML文件内容,并保存到字符串变量中
下面我们使用PHP自带的file_get_contents()函数将文件内容读取到一个字符串变量中:
$xmlfile = file_get_contents($path);
此时$xmlfile变量的值如下:
2、将字符串转换为对象
这一步我们将使用simplexml_load_string()函数,将上一步得到的字符串转换为对象(Object):
$ob= simplexml_load_string($xmlfile);
此时$ob的值如下:
3、将对象转换为JSON
上一步转换成对象后,现在,我们要将对象转换成JSON格式字符串:
$json = json_encode($ob);
此时$json变量的值如下:
4、解析JSON字符串
这也是最后一步了,我们需要将JSON格式的字符串转换为我们需要的数组:
$configData = json_decode($json, true);
现在$configData里存储的数据就是我么最后要得到的数组,如下:
完整转换代码:
|
1
2
3
4
5
6
|
<?php
$xmlfile = file_get_contents($path);
$ob= simplexml_load_string($xmlfile);
$json = json_encode($ob);
$configData = json_decode($json, true);
?>
|
PHP利用 JSON 将XML转换为数组的更多相关文章
- php 对象、json 、XML、数组互转
对象转json $json=json_encode($postObj,JSON_FORCE_OBJECT); json转对象 $obj=json_encode($json); json转数组 $arr ...
- PHP XML To Array将XML转换为数组
// Xml 转 数组, 包括根键,忽略空元素和属性,尚有重大错误 function xml_to_array( $xml ) { $reg = "/<(\\w+)[^>]*?& ...
- json.net xml转换为json格式时,如何将指定节点转换成数组
using System.Xml.Linq; using Newtonsoft.Json; Response.ContentType = "application/json"; X ...
- 利用JSON将Map转换为类对象
Map类型做为一种常见的Java类型,经常在开发过程中使用,笔者最近遇到要将Map对象做为一种通用的参数变量,下传到多个业务类方法中,然后在各个业务类方法中将Map转换为指定类对象的情况.如何将Map ...
- xml转换为json格式时,如何将指定节点转换成数组 Json.NET
使用Json.NET转换xml成json时,如果xml只有单个节点,但json要求是数组形式[], JsonConvert.SerializeXmlNode 并不能自动识别 示例如下: RecordA ...
- 利用JSON实现数组去重
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 一个简单xml数据转换为数组的方法
本人用easywechat做微信回复图文,从数据库中拿到的数据直接是xml拼好的数据,但是框架只有自带的获取xml格式的语句,所有需要将xml数据中所需要的数据拿出来用来拼接. 搜了好多资料说的都很麻 ...
- 将xml转换为PHP数组
这里提供一个类来将XML转换为PHP数组,下面是类的代码 <?php/** * XML2Array: A class to convert XML to array in PHP * It re ...
- php 数组转xml 数组转json xml转数组 json转数组
array->xml <?php function array2xml($array, $tag) { function ia2xml($array) { $xml="" ...
- 微信开发所需要的的方法(签名认证、数组转字符串方法、将xml字符串转换为数组、发送xml请求方法)
//将xml字符串转换为数组 public function xmlToArray($xml){ $array_data = json_decode(json_encode(simplexml_loa ...
随机推荐
- SpringBoot - Lombok使用详解5(@log、@Buinder、@SneakyThrows、@Synchronized)
七.Lombok注解详解(5) 12,@log (1)该注解用在类上,可以省去从日志工厂生成日志对象这一步,直接进行日志记录,具体注解根据日志工具的不同而不同.不同的日志注解总结如下(上面是注解,下面 ...
- 使用Microsoft Network Monitor 抓包分析文件上传
Microsoft 自己提供了一个官方的抓包工具,可以比较方便的在windows平台抓包,并可以提供协议关键字正则.安装包位置:\\192.168.10.248\public\ghw\tools\MN ...
- 5vue 样式绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- B树、B+树详解
B树.B+树详解 B树 前言 首先,为什么要总结B树.B+树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/+Tree作为索引结构(例如mysql的InnoDB引擎使用的B+树 ...
- Maven 中央仓库配置
Maven 中央仓库配置 Maven 中央仓库地址大全 <!-- 1.阿里中央仓库(首推1) --> <repository> <id>alimaven</i ...
- LeedCode 85. 最大矩形(/)
原题解 题目 约束 题解 解法一 class Solution { public: int maximalRectangle(vector<vector<char>>& ...
- C#软件增加混淆防止反编译
使用Visual Studio新建一个名为"test"的命令行项目输入如图所示的代码并生成项目,这个项目很简单,就是程序启动时,调用"GetGUID"函数返回一 ...
- Windows 10 输入法(仅桌面) %100 解决
大家好,今天我遇到了一件非常难受的一件事,那就是 WIndows 自带的输入发问题,无法输入中文!!! 这时我去网上找找解决方案,总结了一下几个: 文件检查 步骤 以管理员身份运行PowerShell ...
- python tkinter Checkbutton的新增和清除 取值
from tkinter import * root = Tk() name = StringVar() check_box_list = [] ent=Entry(root,textvariable ...
- ESP32 优化 IRAM 内存方法整理 ---ESP32
有以下三种方便的方法来优化 IRAM 内存: 启用 menuconfig -> Compiler option -> Optimization Level -> Optimize f ...