亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 中無需任何庫即可將數組轉換為 XML

PHP 中無需任何庫即可將數組轉換為 XML

PHP
明月笑刀無情 2023-09-08 10:38:20
我正在嘗試將 XML 轉換為 ARRAY 并將 ARRAY 轉換為 XML。網上有很多腳本,但幾乎每個腳本都使用 SimpleXML 或其他庫之類的庫。我可以讓幾乎所有事情都可以正常工作:https: //github.com/nullivex/lib-array2xml現在,這就是我所擁有的:XML<?xml version="1.0" encoding="UTF-8"?><configuration>  <nom>Leaflet</nom>  <fichiers>     <fichier type="js" script="externe">leaflet.js</fichier>     <fichier type="js" script="interne" cdata="true"><![CDATA[TEST]]></fichier>  </fichiers>  <activation>0</activation></configuration>這大大變成了 ARRAY :Array(    [configuration] => Array        (            [nom] => Array                (                    [#text] => Leaflet                )            [fichiers] => Array                (                    [fichier] => Array                        (                            [0] => Array                                (                                    [#text] => leaflet.js                                    [@type] => js                                    [@script] => externe                                )                            [1] => Array                                (                                    [#text] => TEST                                    [@type] => js                                    [@script] => interne                                    [@cdata] => true                                )                        )                )            [activation] => Array                (                    [#text] => 0                )        ))但是當我嘗試轉換回 XML 時,我得到了這個......<?xml version="1.0" encoding="UTF-8"?><configuration>  <nom>Leaflet</nom>  <fichiers>    <fichier>leaflet.js</fichier>    <fichier>TEST</fichier>  </fichiers>  <activation>0</activation></configuration>任何想法 ?幾天了就沒法用了...編輯:我也測試了這個: https: //github.com/spatie/array-to-xml
查看完整描述

1 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

我已經找到了。


if(isset($arr['#text'])) 

            {

                foreach($arr as $key => $value) 

                {

                    if(@$key[0]=="@") $node->setAttribute(substr($key, 1), $value);

                }

                

                if(isset($arr['@cdata'])) 

                {

                    $node->setAttribute('cdata', $arr['@cdata']);

                    $node->appendChild($xml->createCDATASection(self::bool2str($arr['#text'])));

                }

                else

                {

                    $node->appendChild($xml->createTextNode(self::bool2str($arr['#text'])));

                }

                unset($arr['#text']);

                return $node;

            }


查看完整回答
反對 回復 2023-09-08
  • 1 回答
  • 0 關注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號