我们用它来将 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中文网其他相关文章!