這篇文章將為大家詳細(xì)講解有關(guān)php數(shù)組怎么轉(zhuǎn)換為xml的形式,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比通山網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式通山網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋通山地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。
一、phpStudy,是一個(gè)新手入門(mén)最常用的開(kāi)發(fā)環(huán)境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡(jiǎn)單對(duì)小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個(gè)功能強(qiáng)大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務(wù)器管理軟件,支持windows和linux系統(tǒng)。六、UPUPW,UPUPW是目前Windows平臺(tái)下最具特色的Web服務(wù)器PHP套件。
說(shuō)到XML很多人對(duì)這個(gè)語(yǔ)言還是不熟悉的,它表示一種標(biāo)記語(yǔ)言。在XML語(yǔ)法上,它與HTML類(lèi)似,但是HTML中的元素是固定的,并且用戶可以定制XML標(biāo)簽。對(duì)于數(shù)組的學(xué)習(xí)也有一定的積累,那么我們可以把數(shù)組轉(zhuǎn)換為XML的形式,在正式開(kāi)始數(shù)組的轉(zhuǎn)換前,可以先對(duì)XML進(jìn)行一些了解。
1、說(shuō)明
XML 是可擴(kuò)展標(biāo)記語(yǔ)言(EXtensible Markup Language)。
XML 是一種很像HTML的標(biāo)記語(yǔ)言。
XML 的設(shè)計(jì)宗旨是傳輸數(shù)據(jù),而不是顯示數(shù)據(jù)。
XML 標(biāo)簽沒(méi)有被預(yù)定義。您需要自行定義標(biāo)簽。
XML 被設(shè)計(jì)為具有自我描述性。
XML 是 W3C 的推薦標(biāo)準(zhǔn)。
2、轉(zhuǎn)換實(shí)例
<?php namespace Library; /** * 最外層的當(dāng)個(gè)元素可以自定義標(biāo)簽,內(nèi)層單個(gè)元素統(tǒng)一標(biāo)簽為$defaultSingleOuter */ class XML { private static $version = "1.0"; private static $encoding = 'utf-8'; // 最外層 private static $outer = ''; // 最外層屬性 private static $outerAttribut = []; // 單個(gè)元素的外層 private static $singleOuter = ''; // 單個(gè)元素外層的屬性 private static $singleOuterAttribut = []; private static $defaultSingleOuter = 'item'; public function A2XML(array $data) { $xml = new \XMLWriter(); $this->begin($xml); // 寫(xiě)數(shù)據(jù) if (is_numeric(current(array_keys($data)))) { foreach ($data as $key => $val) { $this->singleBegin($xml, true); $this->writeElement($xml, $val); $this->singleEnd($xml); } } else { $this->writeElement($xml, $data); } return $this->end($xml); } /** * 寫(xiě)數(shù)據(jù) * * @param \XMLWriter $xml * @param $data */ private function writeElement(\XMLWriter &$xml, $data) { if (!is_array($data)) { $xml->writeElement(self::$defaultSingleOuter, $data); return; } foreach ($data as $key => $val) { if (is_numeric($key)) { is_array($val) && $this->singleBegin($xml); $this->writeElement($xml, $val); is_array($val) && $this->singleEnd($xml); continue; } if (is_array($val)) { $xml->startElement($key); $this->writeElement($xml, $val); $xml->endElement(); continue; } $xml->writeElement($key, $val); } } /** * 開(kāi)始 * * @param \XMLWriter $xml */ private function begin(\XMLWriter &$xml) { $xml->openMemory(); $xml->startDocument(self::$version, self::$encoding); if (self::$outer) { $xml->startElement(self::$outer); } if (self::$outerAttribut) { foreach (self::$outerAttribut as $key => $val) { $xml->writeAttribute($key, $val); } } } /** * 結(jié)束 * * @param \XMLWriter $xml * @return string */ private function end(\XMLWriter $xml) { if (self::$outer) { $xml->endElement(); } $xml->endDocument(); header("Content-type: text/xml"); //取得緩沖區(qū)里的xml字符串 return $xml->outputMemory(true); } /** * 單個(gè)元素的開(kāi)始 * * @param \XMLWriter $xml * @param bool $first */ private function singleBegin(\XMLWriter $xml, $first = false) { if ($first) { $xml->startElement(self::$singleOuter ?: self::$defaultSingleOuter); if (self::$singleOuterAttribut) { foreach (self::$singleOuterAttribut as $key => $val) { $xml->writeAttribute($key, $val); } } } else { $xml->startElement(self::$defaultSingleOuter); } } /** * 單個(gè)元素的結(jié)束 * * @param \XMLWriter $xml */ private function singleEnd(\XMLWriter $xml) { $xml->endElement(); } public function setVersion($version = 1.0) { self::$version = $version; return $this; } public function setEncoding($encoding = 'utf-8') { self::$version = $encoding; return $this; } public function setOuter($outer = '') { self::$outer = $outer; return $this; } public function setOuterAttribut(array $outerAttribut = []) { self::$outerAttribut = $outerAttribut; return $this; } public function setSingleOuter($singleOuter) { self::$singleOuter = $singleOuter; return $this; } public function setSingleOuterAttribut(array $singleOuterAttribut = []) { self::$singleOuterAttribut = $singleOuterAttribut; return $this; } public function setDefaultSingleOuter($defaultSingleOuter) { self::$defaultSingleOuter = $defaultSingleOuter; return $this; } }
關(guān)于“php數(shù)組怎么轉(zhuǎn)換為xml的形式”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)頁(yè)名稱(chēng):php數(shù)組怎么轉(zhuǎn)換為xml的形式
網(wǎng)頁(yè)路徑:http://chinadenli.net/article4/gehhoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、企業(yè)建站、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營(yíng)銷(xiāo)推廣、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)