phpxml转为数组,php将字符串转换为数组

本文目录一览:

php读取XML文件,并解析成数组

simplexml_load_string可以把xml解析成对象,然后可以用var_dump进行解析。

php内部库并没有包含直接把xml解析成数组的模块。

而且xml本来包含节点概念,解析成对象以后可以直接访问每一个节点,而数组相对就要难以理解的多。

因此解析成数组并不比解析成对象有多少优势。

如果你对数组实在有需求的话,可以自己写一个库,并不会太难。

PHP中数组转换为XML格式

最近公司要做一个API接口 输出格式要有JSON与XML格式 在PHP中 输入JSON直接json_encode就可以 但输出XML没有提供函数 于是决定自己写一个

?php

/**

* 数组转XML类库

*

* @filesource ArrayToXML php

* @author  genolf

* @version / /

*

* 使用说明

*  echo ArrayToXml::parse($array root );

*/

class ArrayToXML {

//文档对象

private static $doc = NULL;

//版本号

private static $version = ;

/**

* 初始化文档版本及编码

*

* @param string $version   版本号

* @param string $encoding  XML编码

*/

public static function init($version $encoding) {

self::$doc = new DomDocument($version $encoding);

self::$doc formatOutput = true;

}

/**

* 转换数组到XML

*

* @param array $array      要转换的数组

* @param string $rootName  要节点名称

* @param string $version   版本号

* @param string $encoding  XML编码

*

* @return string

*/

public static function parse($array $rootName = root $version = $encoding = UTF ) {

self::init($version $encoding);

//转换

$node = self::convert($array $rootName);

self::$doc appendChild($node);

return self::$doc saveXML();

}

/**

* 递归转换

*

* @param array $array      数组

* @param string $nodeName  节点名称

*

* @return object (DOMElement)

*/

private static function convert($array $nodeName) {

if (!is_array($array)) return false;

//创建父节点

$node = self::createNode($nodeName);

//循环数组

foreach ($array as $key = $value) {

$element = self::createNode($key);

//如果不是数组 则创建节点的值

if (!is_array($value)) {

$element appendChild(self::createValue($value));

$node appendChild($element);

} else {

//如果是数组 则递归

$node appendChild(self::convert($value $key $element));

}

}

return $node;

}

private static function createNode($name) {

$node = NULL;

//如果是字符串 则创建节点

if (!is_numeric($name)) {

$node = self::$doc createElement($name);

} else {

//如果是数字 则创建默认item节点

$node = self::$doc createElement( item );

}

return $node;

}

/**

* 创建文本节点

*

* @param string || bool || integer $value

*

* @return object (DOMText || DOMCDATASection );

*/

private static function createValue($value) {

$textNode = NULL;

//如果是bool型 则转换为字符串

if (true === $value || false === $value) {

$textNode = self::$doc createTextNode($value ? true : false );

} else {

//如果含有HTML标签 则创建CDATA节点

if (strpos($value ) ) {

$textNode = self::$doc createCDATASection($value);

} else {

$textNode = self::$doc createTextNode($value);

}

}

return $textNode;

}

lishixinzhi/Article/program/PHP/201311/20849

PHP XML转数组问题,求帮忙;

看看这样输出什么

if (file_exists(‘test.xml’))

{

$xml = simplexml_load_file(‘XML文件名’);

var_dump($xml);

}

然后就是数组转换了

php 如何获取XML 并转成2维数组

?php

/**

* 功能:解析xml数据转换成二维数组

*

* @param string $dataXml

* @return array

*/

public static function getXmlData ( $strXml ) {

$pos = strpos($strXml, ‘xml’);

if ($pos) {

$xmlCode =simplexml_load_string($strXml,’SimpleXMLElement’, LIBXML_NOCDATA);

$arrayCode=self::get_object_vars_final($xmlCode);

return $arrayCode ;

} else {

return ”;

}

}

?

PHP xml转换成数组

xml转array方法没错,只是xml中有三个list,而数组中却不能出现三个$arr[‘list’],所以这个方法自动把三个list中的内容放进了一个二维数组中。

可以尝试直接取$arr[‘list’],取出结果应该就是 Array ( [0] = 1 [1] = 2 [2] = 3 ) 了。

php 将xml对象转换成数组,看不明白function simplexml_obj2array函数,请高人解释思路?

instanceof 用来检查前面的对象是否是后面这个类的实例,如果是则强制转换为数组

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/312830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-06 15:17
下一篇 2025-01-06 15:17

相关推荐

  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python中将字符串转化为浮点数

    本文将介绍在Python中将字符串转化为浮点数的常用方法。在介绍方法之前,我们先来思考一下这个问题应该如何解决。 一、eval函数 在Python中,最简单、最常用的将字符串转化为…

    编程 2025-04-29
  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python学习笔记:去除字符串最后一个字符的方法

    本文将从多个方面详细阐述如何通过Python去除字符串最后一个字符,包括使用切片、pop()、删除、替换等方法来实现。 一、字符串切片 在Python中,可以通过字符串切片的方式来…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • 使用FFmpeg在Java中将MP3 URL转换为PCM

    本文介绍了使用FFmpeg在Java中将MP3 URL转换为PCM的具体步骤,以及相应代码示例。 一、准备工作 在使用FFmpeg之前,需要先安装FFmpeg,可以在官网(http…

    编程 2025-04-29
  • Python二维数组对齐输出

    本文将从多个方面详细阐述Python二维数组对齐输出的方法与技巧。 一、格式化输出 Python中提供了格式化输出的方法,可以对输出的字符串进行格式化处理。 names = [‘A…

    编程 2025-04-29

发表回复

登录后才能评论