本文目录一览:
- 1、PHP xml转换成数组
- 2、php 怎么将数组转xml的函数
- 3、菜鸟求解php支付接口返回的xml解析成数组在怎么做??
- 4、php读取XML文件,并解析成数组
- 5、php 将xml对象转换成数组,看不明白function simplexml_obj2array函数,请高人解释思路?
- 6、求一个PHP把一维数组转化为xml格式和再从xml格式转回一维数组的方法,求示例代码。谢谢。
PHP xml转换成数组
xml转array方法没错,只是xml中有三个list,而数组中却不能出现三个$arr['list'],所以这个方法自动把三个list中的内容放进了一个二维数组中。
可以尝试直接取$arr['list'],取出结果应该就是 Array ( [0] = 1 [1] = 2 [2] = 3 ) 了。
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解析成数组在怎么做??
$xml=simplexml_load_string($xml);
$xml=(array)$xml;
var_dump($xml);
这个是处理成数组的
php读取XML文件,并解析成数组
simplexml_load_string可以把xml解析成对象,然后可以用var_dump进行解析。
php内部库并没有包含直接把xml解析成数组的模块。
而且xml本来包含节点概念,解析成对象以后可以直接访问每一个节点,而数组相对就要难以理解的多。
因此解析成数组并不比解析成对象有多少优势。
如果你对数组实在有需求的话,可以自己写一个库,并不会太难。
php 将xml对象转换成数组,看不明白function simplexml_obj2array函数,请高人解释思路?
instanceof 用来检查前面的对象是否是后面这个类的实例,如果是则强制转换为数组
求一个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]];
}