我們使用它將 XML 文件轉換為 PHP 陣列。有時,我們需要將 XML 文件作為傳入資料進行處理或將資料匯出為 XML 文件。 XML 語言用於建立跨網站或應用程式共享的資料。因此,它提供了 XML 到數組的操作,以便順利地處理 XML 資料。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
在轉換時,我們需要使用下面提到的一些函數 –
它接受 XML 文件並將其轉換為陣列。假設我們有一個 XML 文件 ExXMl.xml;現在,我們要將其轉換為陣列。因此,要進行轉換,我們需要遵循一些步驟 –
載入 XML 檔案並將其轉換為 PHP 陣列的範例 –
首先,我們建立名為「ExXML.xml」的 xml 資料文件,並將資料內容建立為 –
代碼:
<?xml version="1.0" encoding="utf-8"?> <Student> <firstname name = 'John'> <rollno> 12 </rollno> <marks> 78 </marks> <subject> English </subject> </firstname> <firstname name='Sam'> <rollno> 15 </rollno> <marks> 80 </marks> <subject> English </subject> </firstname> <firstname name='Praveen'> <rollno> 30 </rollno> <marks> 50 </marks> <subject> English </subject> </firstname> </Student> Next,we create the PHP file to read and load the XML file, as below - <?php // xml file $file = "ExXML.xml"; // Read XML file as string $xml_file = file_get_contents($file); // xml string is Convert into an object $obj = simplexml_load_string($xml_file); // AN object Convert into json string $json_string = json_encode($obj); // Convert json string into an array $array = json_decode($json_string, true); // print an array print_r($array); ?>
輸出:
所有開始和結束標籤都是正確的。接下來,載入的物件分別以 json_encode () 和 json_decode() 函數編碼和解碼為 PHP 陣列。
遇到並解析錯誤的範例-
接下來,我們編寫PHP 程式碼來將PHP XML 解析為數組,我們將看到在將XML 解析為數組時,由於XML 標籤不匹配或結構不正確而發生的解析錯誤,如下所示–
代碼:
<?xml version='1.0'?> <Student> <firstname name = 'John'> <rollno> 12 </rollno> <marks> 78 </marks> <!-- missing --> </firstname> <firstname name='Sanjay'> <rollno> 15 </rollno> <marks> 80 </marks> <!-- mismatch tag --> <subject> English <subject> </firstname> <firstname name='Parvez'> <rollno> 30 </rollno> <marks> 50 </marks> <subject> English </subject> </firstname> </Student> Next, we create the PHP file to read and load the XML file, as below - <?php // xml file $file = "ExXML.xml"; // Read file as string $xml_file = file_get_contents($file); // xml string is Convert into an object $obj = simplexml_load_string($xml_file); // check xml load or not if ($obj == FALSE) { echo "There were errors to parse the XML file.\n"; exit; } // AN object Convert into json string $json_string = json_encode($obj); // Convert json string into an array $array = json_decode($json_string, true); // print an array print_r($array); ?>
輸出:
開始和結束標記之一不匹配,並且缺少一個標記(如帶有註釋標記的 XML 文件中所述)。 解析並載入 XML 檔案時會出現警告,如上面的輸出所示。因此,透過閱讀警告,更正 XML 檔案並再次載入。
以上是PHP XML 到數組中的詳細內容。更多資訊請關注PHP中文網其他相關文章!