Code前端首页关于Code前端联系我们

php数组怎么转xml,php把字符串转换成数组

terry 2年前 (2023-09-30) 阅读数 48 #PHP
文章标签 PHP dirname()

本文目录一览:

  • 1、php 怎么将数组转xml的函数
  • 2、多维PHP数组怎么转换成xml格式的数据
  • 3、求一个PHP把一维数组转化为xml格式和再从xml格式转回一维数组的方法,求示例代码。谢谢。

php 怎么将数组转xml的函数

没有现成函数,只能自己写;我有一个别人写的函数:

?php

class A2Xml {

private $version = '1.0';

private $encoding = 'UTF-8';

private $root = 'root';

private $xml = null;

function __construct() {

$this-xml = new XmlWriter();

}

function toXml($data, $eIsArray=FALSE) {

if(!$eIsArray) {

$this-xml-openMemory();

$this-xml-startDocument($this-version, $this-encoding);

$this-xml-startElement($this-root);

}

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

if(is_array($value)){

$this-xml-startElement($key);

$this-toXml($value, TRUE);

$this-xml-endElement();

continue;

}

$this-xml-writeElement($key, $value);

}

if(!$eIsArray) {

$this-xml-endElement();

return $this-xml-outputMemory(true);

}

}

}

$res = array(

'hello' = '11212',

'world' = '232323',

'array' = array(

'test' = 'test',

'b' = array('c'='c', 'd'='d')

),

'a' = 'haha'

);

$xml = new A2Xml();

echo $xml-toXml($res);

多维PHP数组怎么转换成xml格式的数据

public function arrayToXml($arr){

$xml = "xml";

foreach ($arr as $key=$val){

if(is_array($val)){

$xml.="".$key."".arrayToXml($val)."/".$key."";

}else{

if (is_numeric($val)){

$xml.="".$key."".$val."/".$key."";

}else{

$xml.="".$key."![CDATA[".$val."]]/".$key."";

}

}

}

$xml.="/xml";

return $xml;

}

求一个PHP把一维数组转化为xml格式和再从xml格式转回一维数组的方法,求示例代码。谢谢。

代码

Code highlighting produced by Actipro CodeHighlighter (freeware);// Xml 转 数组, 包括根键,忽略空元素和属性,尚有重大错误

function xml_to_array( $xml )

{

$reg = "/(\\w+)[^]*?([\\x00-\\xFF]*?)\\/\\1/";

if(preg_match_all($reg, $xml, $matches))

{

$count = count($matches[0]);

$arr = array();

for($i = 0; $i $count; $i++)

{

$key= $matches[1][$i];

$val = xml_to_array( $matches[2][$i] ); // 递归

if(array_key_exists($key, $arr))

{

if(is_array($arr[$key]))

{

if(!array_key_exists(0,$arr[$key]))

{

$arr[$key] = array($arr[$key]);

}

}else{

$arr[$key] = array($arr[$key]);

}

$arr[$key][] = $val;

}else{

$arr[$key] = $val;

}

}

return $arr;

}else{

return $xml;

}

}

// Xml 转 数组, 不包括根键

function xmltoarray( $xml )

{

$arr = xml_to_array($xml);

$key = array_keys($arr);

return $arr[$key[0]];

}

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门