나중에 사용하기 위해 데이터를 XML 형식으로 데이터베이스나 파일에 저장해야 하는 경우가 많습니다. 이 요구 사항을 충족하려면 데이터를 XML로 변환하고 XML 파일을 저장해야 합니다.
SimpleXML 확장 함수는 XML을 객체로 변환하기 위한 도구 세트를 제공합니다. 이러한 객체는 일반 속성 선택기와 배열 반복기를 처리합니다.
예제 1:
<?php // 将php数组转换为xml文档的代码 //定义一个将数组转换成xml的函数。 function arrayToXml($array, $rootElement = null, $xml = null) { $_xml = $xml; // 如果没有$rootElement,则插入$rootElement if ($_xml === null) { $_xml = new SimpleXMLElement($rootElement !== null ? $rootElement : '<root/>'); } // 访问所有键值对 foreach ($array as $k => $v) { // 如果有嵌套数组 if (is_array($v)) { // 调用嵌套数组的函数 arrayToXml($v, $k, $_xml->addChild($k)); } else { $_xml->addChild($k, $v); } } return $_xml->asXML(); } // 创建一个用于演示的数组 $my_array = array ( 'name' => 'GFG', 'subject' => 'CS', // 创建嵌套数组。 'contact_info' => array ( 'city' => 'Noida', 'state' => 'UP', 'email' => '448199179@qq.com' ), ); // 调用arrayToxml函数并打印结果 echo arrayToXml($my_array); ?>
출력:
<?xml version="1.0"?> <root> <name> GFG </name> <subject> CS </subject> <contact_info > <city > Noida < /city > <state > UP < /state > <email > 448199179@qq.com </email> <contact_info> <root>
위 문제는 array_walk_recursive() 함수를 사용하여 해결할 수 있습니다. 이 함수는 배열을 xml 문서로 변환합니다. 여기서 배열의 키는 값으로 변환되고 배열의 값은 xml의 요소로 변환됩니다.
예 2:
<?php // 将php数组转换为xml文档的代码 //创建一个数组 $my_array = array ( 'a' => 'x', 'b' => 'y', // creating nested array 'another_array' => array ( 'c' => 'z', ), ); // 这个函数使用root元素创建一个xml对象。 $xml = new SimpleXMLElement('<root/>'); // 这个函数重新将数组元素添加到xml文档中 array_walk_recursive($my_array, array ($xml, 'addChild')); // 这个函数打印xml文档。 print $xml->asXML(); ?>
출력:
<?xml version =“1.0”?> <root> <x> a </ x> <y> b </ y> <z> c </ z> </ root>
참고:
시스템에서 오류 유형:
PHP Fatal error: Uncaught Error: Class ‘SimpleXMLElement’ not found in /home/6bc5567266b35ae3e76d84307e5bdc78.php:24 ,
을 생성하면 php-xml, php-simplexml 패키지를 설치하기만 하면 됩니다.
이 기사는 PHP에서 배열을 SimpleXML로 변환하는 방법에 관한 것입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
위 내용은 PHP에서 배열을 SimpleXML로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!