當前位置:首頁 » 編程語言 » php數組xml

php數組xml

發布時間: 2022-06-14 16:13:19

⑴ 新手求助高手解決 php數組轉換XML問題,研究好久都不行.

<?php
$team=array(
'id'=>'22955',
'video_order_id'=>'22955',
'is_audio'=>'0',
'status_format'=>'待審核',
'ftp_path'=>'2013/1374/5695/2479/137456952479.ssm/',
'lists'=>array(array('PreviewMTA'=>'A','PreviewMTB'=>'B')),
'lists1'=>array(array('PreviewMTA'=>'B'))
);

echosaveXML($team);
functionsaveXML($arr,$root='response'){
if(!preg_match('/[a-zA-Z][a-zA-Z0-9_]/',$root)){
$root='response';
}
$xml=newDOMDocument('1.0','UTF-8');
$xml->formatOutput=true;
$response=$xml->createElement($root);
$xml->appendChild($response);
foreach($arras$key=>$value){
if(is_array($value)){
$first=$xml->createElement($key);
_createElement($value,$first,$xml);
}else{
$first=$xml->createElement($key,$value);
}
$response->appendChild($first);
}
return$xml->saveXML();
//$xml->save('create_xml.xml');
}
function_createElement($arr,$parentDom,&$xml){
foreach($arras$value){
$list=$xml->createElement('list');
foreach($valueas$k=>$val){
if(is_array($val)){
$dom=$xml->createElement($k);
_createElement($val,$dom,$xml);
}else{
$dom=$xml->createElement($k,$val);
}
$list->appendChild($dom);
}
$parentDom->appendChild($list);
}
}
?>

可能和你要的結果有偏離

⑵ 如何在php文件里寫xml

php文件里寫xml方法:

1、Xml代碼


<?php
$data_array=array(
array(
'title'=>'title1',
'content'=>'content1',
'pubdate'=>'2009-10-11',
),
array(
'title'=>'title2',
'content'=>'content2',
'pubdate'=>'2009-11-11',
)
);
//屬性數組
$attribute_array=array(
'title'=>array(
'size'=>1
)
);
$string=<<<XML
<?xmlversion='1.0'encoding='utf-8'?>
<article>
</article>
XML;
$xml=simplexml_load_string($string);
foreach($data_arrayas$data){
$item=$xml->addChild('item');
if(is_array($data)){
foreach($dataas$key=>$row){
$node=$item->addChild($key,$row);
if(isset($attribute_array[$key])&&is_array($attribute_array[$key]))
{
foreach($attribute_array[$key]as$akey=>$aval){
//設置屬性值
$node->addAttribute($akey,$aval);
}
}
}
}
}
echo$xml->asXML();
?>

⑶ 多維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;
}

⑷ xml 怎樣通過php解析到二維數組裡面

<?xml version="1.0" encoding="utf-8"?>
<config><db><servicer>localhost1</servicer><root>root</root><pw>123</pw></db><smarty></smarty></config>

<?php
$doc = new DOMDocument('1.0','utf-8');
$doc->load("config.xml");
$roots=$doc->documentElement;//獲取根節點也就是config(僅有一個)
$childs=$roots->childNodes;//獲取根節點下所有子節點也就是 db smarty
for($i=0;$i<$childs->length;$i++){ //按照根節點下的子節點數量進行循環存入數組
$config_item=$childs->item($i); //具體獲得db smarty
$configs[$config_item->nodeName]=array();//將db smarty這兩個子節點的名稱作為數據存入數組中
$items=$config_item->childNodes; //獲得db smarty下的所有子節點
for($j=0;$j<$items->length;$j++){//按照db smarty下所有子節點數進行循環將db smarty下的子節點名與值以二維數組存入
$item=$items->item($j); //通過循環獲取每個db smarty 下的子節點
$configs[$config_item->nodeName][$item->nodeName]=$item->nodeValue;
}//二維數組的書寫
}
var_mp($configs);

⑸ php如何通過xml傳遞數據

獲取request中body的字元串數據,比如一個數組轉成xml後,你用post方式給伺服器發送xml的字元串,伺服器就用file_get_contents('php://input') 去讀取xml格式 然後轉成數組即可

⑹ php 數組索引鍵值對 怎麼轉xml

php數組轉換xml有好幾種方法,這里演示最簡單的一種:拼接xml格式數據。如果是多維數組需要另行處理,但套路基本一致。示例如下:

//測試
$arr=array(
"name"=>"網路",
"url"=>""
);
echoarrayToXml($arr);
/*轉換結果
*<?xmlversion="1.0"encoding="utf-8"?>
*<name>網路</name>
*<url></url>
*</xml>
*/
//array轉換成xml格式函數
functionarrayToXml($arr){
$xml="<?xmlversion="1.0"encoding="utf-8"?>";
foreach($arras$key=>$val){
$xml.="<".$key.">".$val."</".$key.">";
}
$xml.="</xml>";
return$xml;
}

⑺ PHP 里如何實現數組轉 xml 並且格式化

simplexml_load_string可以把xml解析成對象,然後可以用var_mp進行解析。\r\nphp內部庫並沒有包含直接把xml解析成數組的模塊。\r\n而且xml本來包含節點概念,解析成對象以後可以直接訪問每一個節點,而數組相對就要難以理解的多。\r\n因此解析成數組並不比解析成對象有多少優勢。\r\n如果你對數組實在有需求的話,可以自己寫一個庫,並不會太難。

⑻ 關於PHP中將數組中所有元素格式化到xml字元串,如何實現,用printf函數

serialize()
unserialize()
序列化和反序列化

⑼ 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轉array方法沒錯,只是xml中有三個<list>,而數組中卻不能出現三個$arr['list'],所以這個方法自動把三個<list>中的內容放進了一個二維數組中。
可以嘗試直接取$arr['list'],取出結果應該就是 Array ( [0] => 1 [1] => 2 [2] => 3 ) 了。

熱點內容
指法運演算法 發布:2024-05-07 09:24:26 瀏覽:194
兜享花為什麼伺服器錯誤 發布:2024-05-07 09:12:55 瀏覽:125
西門子編程模擬軟體 發布:2024-05-07 09:12:04 瀏覽:127
腳本舉例 發布:2024-05-07 09:04:41 瀏覽:818
php經歷 發布:2024-05-07 08:59:25 瀏覽:419
knd系統編程 發布:2024-05-07 08:55:38 瀏覽:218
大話2無限自動腳本 發布:2024-05-07 08:42:06 瀏覽:78
朋友圈視頻壓縮 發布:2024-05-07 08:33:01 瀏覽:871
MAC賬戶登錄如何進入忘記密碼 發布:2024-05-07 08:14:52 瀏覽:671
相機存儲卡要求格式化 發布:2024-05-07 08:08:44 瀏覽:16