iT邦幫忙

6

PHP to XML example

<?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>

小弟拙作參考一些資料做出來,如有問題歡迎指導老鷹~~!


3
fillano
iT邦超人 1 級 ‧ 2016-06-07 13:37:39

content-type用text/xml或application/xml比較好吧?既然是輸出xml...

感謝費公指導/images/emoticon/emoticon41.gif

已經修正了~~!

0
賽門
iT邦超人 1 級 ‧ 2016-06-07 14:12:09

被費大公這麼一說,果然是"拙"作呀~~~

/images/emoticon/emoticon05.gif

看更多先前的回應...收起先前的回應...

/images/emoticon/emoticon10.gif

不會啦~ 我很喜歡老鷹喜愛分享的個性

人都是要互相學習才會成長得快

而且這樣不只幫助到自己,也幫助到其他IT人

老鷹,你可以再三八一點...

0
weiclin
iT邦高手 4 級 ‧ 2016-06-07 15:49:44

按照程式的邏輯, 數字 key 會加上 "item"

但為什麼你的 output 是 "<0>" 不是 "" ?

weiclin iT邦高手 4 級‧ 2016-06-07 15:50:23 檢舉

< item0> ...

剛剛稍微有變更一下 XML <0>會error

互相討論,一起成長,真的是一件很美的事.

0
海綿寶寶
iT邦超人 1 級 ‧ 2016-06-07 16:30:48

酸民代表舉手發言
有誰在實際的專案中使用 XML 資料格式呢?
/images/emoticon/emoticon68.gif

看更多先前的回應...收起先前的回應...

我....
之前有做過Fedex的EDI交換文件,是使用XML

果然是高手高手高高手
/images/emoticon/emoticon12.gif/images/emoticon/emoticon12.gif/images/emoticon/emoticon12.gif

weiclin iT邦高手 4 級‧ 2016-06-07 22:27:40 檢舉

印象中之前用 amazon route53 的 api 就要用 xml

還有eBay API

台灣的銀行有些有也是採用XML

fillano iT邦超人 1 級‧ 2016-06-14 13:57:45 檢舉

我是做SCORM runtime(PHP, C#)跟課程包...課程的結構跟meta data是用xml定義的...

0
賽門
iT邦超人 1 級 ‧ 2016-06-08 16:54:07

有誰在實際的專案中使用 XML 資料格式呢?

準備對號入座,唉呀老鷹,好久不見啦~

唉呀老鷹,好久不見啦~
有這回事

我要留言

立即登入留言