最近收到要實作要回傳 XML 的 API
不過,真得已經習慣用 PHP 做 JSON 格式
只需要用 json_encode 就可以搞定
PHP 本身函式就有對 XML 做解析
不過組 XML 好像沒有比較好方式
有查到php - XML creation using CodeIgniter - Stack Overflow
Database Utility Class — CodeIgniter 3.1.9 documentation
但這次 DB 剛好存的資料不是剛好要組出來的資料
最終有網路看到原生支援的方法
加上補<![CDATA[ ]]!>
這一段是防止>
符號產生錯誤
也不用改寫成<
SimpleXMLElement 加上 CDATA 方法
php 使用 simpleXML 添加 CDATA 格式数据
php – 如何使用 SimpleXmlElement 编写 CDATA? - 代码日志
PHP: DOMDocument::createCDATASection - Manual
1 |
|
然後用 PHP 內建多行字串,需要注意用 NOWODC
使用 HEREDOC,裡面有$
會抓取 PHP 變數
所以需要用 NOWDOC
出輸內容
Output Class — CodeIgniter 3.1.5 documentation
1 | $this->output |
結果
研究完,收到要改寫回傳 JSON 的 api
不過 json 會更簡單json(xxxx,true)
跟
1 | $json = [ |
寫法有空整理再發文
2019-01-02 補充 Array to XML 的 Library
GitHub - Jeckerson/array2xml: [PHP] - Array to XML
GitHub - spatie/array-to-xml: A simple class to convert an array to xml
2019-03-12 用原生方法沒辦法載入
[xml - How to get values inside <
[xml - PHP: How to handle <![CDATA with SimpleXMLElement? - Stack Overflow
1 | $content = simplexml_load_string( |