很多时候,我们需要将数据以XML格式存储到数据库或文件中,以备后用。为了满足此需求,我们将需要将数据转换为XML并保存XML文件。在本教程中,我们将讨论如何使用PHP将数组转化为xml格式。
我们将使用以下2种方法来做到这一点。
SimpleXML扩展函数提供了将XML转换为对象的工具集。这些对象处理普通的属性选择器和数组迭代器。
下面的代码使用元素根创建一个xml对象。
$xml = new SimpleXMLElement('');
我们可以使用array_walk_recursive()函数将数组转换为XML文档,其中将数组的键转换为值,并将数组的值转换为XML元素。
例子:
- <?php
- // Code to convert php array to xml document
-
- // Creating an array
- $my_array = array (
- 'a' => 'x',
- 'b' => 'y',
-
- // creating nested array
- 'another_array' => array (
- 'c' => 'z',
- ),
- );
-
- // This function create a xml object with element root.
- $xml = new SimpleXMLElement('
'); -
- // This function resursively added element
- // of array to xml document
- array_walk_recursive($my_array, array ($xml, 'addChild'));
-
- // This function prints xml document.
- print $xml->asXML();
- ?>
输出:
- <?xml version="1.0"? >
- <root >
- <x> a </x >
- <y> b </y >
- <z> c </z >
- </root >
要使用DOMDocument创建XML,基本上,我们需要使用createElement()
和 createAttribute()
方法创建标记和属性,使用appendChild()
来创建XML结构 。
例子:
- $name = $e['name_1'];
- $email = $e['email_id'];
- $phone_no =$e['phone_no'];
-
- $doc = new DOMDocument();
- $doc->formatOutput = true;
-
- $root = $doc->createElement('StudentDetails');
- $root = $doc->appendChild($root);
-
- $ele1 = $doc->createElement('StudentName');
- $ele1->nodeValue=$name;
- $root->appendChild($ele1);
-
- $ele2 = $doc->createElement('FatherEmailId');
- $ele2->nodeValue=$email;
- $root->appendChild($ele2);
-
- $ele3 = $doc->createElement('PhoneNumber');
- $ele3->nodeValue=$phone_no;
- $root->appendChild($ele3);
-
- $doc->save('MyXmlFile007.xml');
结果:
- <?xml version="1.0"?>
- <StudentDetails>
- <StudentName>Pravin Parayan</StudentName>
- <FatherEmailId>pravinp@pigtailpundits.com</FatherEmailId>
- <PhoneNumber>9000012345</PhoneNumber>
- </StudentDetails>
以上是本文的全部类容,感谢阅读,希望能帮到大家。更多教程请访问码农之家