spatie/array-to-xml
spatie/array-to-xml 是由 Spatie 開發的 PHP 套件,主要用途是將 PHP 陣列轉換成有效的 XML 格式。常用於整合需 XML 格式的系統,如政府 API、B2B 舊系統等。
主要功能特色:
composer require spatie/array-to-xml
use Spatie\ArrayToXml\ArrayToXml; $array = [ 'name' => 'Jack', 'email' => '[email protected]', 'roles' => [ 'role' => ['admin', 'editor'] ] ]; $xml = ArrayToXml::convert($array, 'user'); // 第二個參數為 root 元素名稱 echo $xml;
輸出結果:
<?xml version="1.0"?> <user> <name>Jack</name> <email>[email protected]</email> <roles> <role>admin</role> <role>editor</role> </roles> </user>
$array = [ '_attributes' => ['type' => 'example'], 'name' => [ '_cdata' => 'Jack <script>alert(1)</script>' ], 'email' => '[email protected]' ]; $xml = ArrayToXml::convert($array, 'user'); echo $xml;
<?xml version="1.0"?> <user type="example"> <name><![CDATA[Jack <script>alert(1)</script>]]></name> <email>[email protected]</email> </user>
_attributes
_cdata
$options
encoding
$options = [ 'version' => '1.0', 'encoding' => 'UTF-8', 'standalone' => true, ]; $xml = ArrayToXml::convert($array, 'user', $options);
Array To Xml(陣列轉換為 XML 格式)
套件名稱:
spatie/array-to-xml📘 套件介紹
spatie/array-to-xml是由 Spatie 開發的 PHP 套件,主要用途是將 PHP 陣列轉換成有效的 XML 格式。常用於整合需 XML 格式的系統,如政府 API、B2B 舊系統等。主要功能特色:
📦 安裝方式
🔁 陣列轉換為 XML
基本用法
use Spatie\ArrayToXml\ArrayToXml; $array = [ 'name' => 'Jack', 'email' => '[email protected]', 'roles' => [ 'role' => ['admin', 'editor'] ] ]; $xml = ArrayToXml::convert($array, 'user'); // 第二個參數為 root 元素名稱 echo $xml;輸出結果:
<?xml version="1.0"?> <user> <name>Jack</name> <email>[email protected]</email> <roles> <role>admin</role> <role>editor</role> </roles> </user>使用屬性與 CDATA
$array = [ '_attributes' => ['type' => 'example'], 'name' => [ '_cdata' => 'Jack <script>alert(1)</script>' ], 'email' => '[email protected]' ]; $xml = ArrayToXml::convert($array, 'user'); echo $xml;輸出結果:
<?xml version="1.0"?> <user type="example"> <name><![CDATA[Jack <script>alert(1)</script>]]></name> <email>[email protected]</email> </user>⚙️ 支援功能一覽
_attributes鍵_cdata鍵$options設定,如encoding範例:自訂 XML 宣告
$options = [ 'version' => '1.0', 'encoding' => 'UTF-8', 'standalone' => true, ]; $xml = ArrayToXml::convert($array, 'user', $options);💡 實務應用場景
🔗 官方資源