本文目錄一覽:
- 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]];
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241080.html