<?php
/**
* @note array to XML example 160607 by Eagle(老鷹)
* @for IT Help q: http://ithelp.ithome.com.tw/questions/10183369
* @Reference material
* url: http://www.codexworld.com/convert-array-to-xml-in-php/
**/
/**
* view can show xml tag
* 感謝費公指導
*/
header('Content-Type: text/xml');
/**
* @get url:http://www.codexworld.com/convert-array-to-xml-in-php/
* @param $array array
* @param $xml new SimpleXMLElement
*/
function array_to_xml($array, &$xml)
{
foreach ($array as $key => $value) {
if (is_array($value)) {
if (!is_numeric($key)) {
$subnode = $xml->addChild("$key");
array_to_xml($value, $subnode);
} else {
$subnode = $xml->addChild("item$key");
array_to_xml($value, $subnode);
}
} else {
$xml->addChild("$key", htmlspecialchars("$value"));
}
}
}
$data_array = [0 => ['name' => 'eagle', 'age' => 29]
, 1 => ['name' => 'jack', 'age' => 60]];
$xml = new SimpleXMLElement("<?xml version=\"1.0\"?><user_info></user_info>");
array_to_xml($data_array, $xml);
print_r($xml->asXML());
result(修正)
<user_info>
<item0>
<name>eagle</name>
<age>29</age>
</item0>
<item1>
<name>jack</name>
<age>60</age>
</item1>
</user_info>
小弟拙作參考一些資料做出來,如有問題歡迎指導老鷹~~!
content-type用text/xml或application/xml比較好吧?既然是輸出xml...
感謝費公指導
已經修正了~~!
被費大公這麼一說,果然是"拙"作呀~~~
不會啦~ 我很喜歡老鷹喜愛分享的個性
人都是要互相學習才會成長得快
而且這樣不只幫助到自己,也幫助到其他IT人
老鷹,你可以再三八一點...
按照程式的邏輯, 數字 key 會加上 "item"
但為什麼你的 output 是 "<0>" 不是 "" ?
< item0> ...
剛剛稍微有變更一下 XML <0>會error
互相討論,一起成長,真的是一件很美的事.
酸民代表舉手發言
有誰在實際的專案中使用 XML 資料格式呢?
我....
之前有做過Fedex的EDI交換文件,是使用XML
果然是高手高手高高手
印象中之前用 amazon route53 的 api 就要用 xml
還有eBay API
台灣的銀行有些有也是採用XML
我是做SCORM runtime(PHP, C#)跟課程包...課程的結構跟meta data是用xml定義的...
有誰在實際的專案中使用 XML 資料格式呢?
準備對號入座,唉呀老鷹,好久不見啦~
唉呀
老鷹,好久不見啦~
有這回事