Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein Array in PHP in SimpleXML

So konvertieren Sie ein Array in PHP in SimpleXML

藏色散人
藏色散人Original
2019-01-25 13:22:313228Durchsuche

Oft ist es notwendig, Daten zur späteren Verwendung im XML-Format in einer Datenbank oder Datei zu speichern. Um diese Anforderung zu erfüllen, müssen die Daten in XML konvertiert und die XML-Datei gespeichert werden.

So konvertieren Sie ein Array in PHP in SimpleXML

SimpleXML-Erweiterungsfunktionen bieten ein Toolset zum Konvertieren von XML in Objekte. Diese Objekte verarbeiten gewöhnliche Eigenschaftsselektoren und Array-Iteratoren.

Beispiel 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 : &#39;<root/>&#39;); 
    } 
      
    // 访问所有键值对 
    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 ( 
&#39;name&#39; => &#39;GFG&#39;, 
&#39;subject&#39; => &#39;CS&#39;, 
  
    // 创建嵌套数组。
    &#39;contact_info&#39; => array ( 
    &#39;city&#39; => &#39;Noida&#39;, 
    &#39;state&#39; => &#39;UP&#39;, 
    &#39;email&#39; => &#39;448199179@qq.com&#39;
    ), 
); 
  
// 调用arrayToxml函数并打印结果
echo arrayToXml($my_array); 
?>

Ausgabe:

<?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>

Sie können die Funktion array_walk_recursive() verwenden, um das obige Problem zu lösen. Diese Funktion wandelt ein Array in ein XML-Dokument um, wobei die Schlüssel des Arrays in Werte und die Werte des Arrays in XML-Elemente umgewandelt werden.

Beispiel 2:

<?php 
// 将php数组转换为xml文档的代码
//创建一个数组
$my_array = array ( 
    &#39;a&#39; => &#39;x&#39;, 
    &#39;b&#39; => &#39;y&#39;, 
      
    // creating nested array 
    &#39;another_array&#39; => array ( 
        &#39;c&#39; => &#39;z&#39;, 
    ), 
); 
  
// 这个函数使用root元素创建一个xml对象。
$xml = new SimpleXMLElement(&#39;<root/>&#39;); 
  
// 这个函数重新将数组元素添加到xml文档中
array_walk_recursive($my_array, array ($xml, &#39;addChild&#39;)); 
  
// 这个函数打印xml文档。 
print $xml->asXML(); 
?>

Ausgabe:

<?xml version =“1.0”?> <root> 
       <x> a </ x> 
       <y> b </ y> 
       <z> c </ z> </ root>

Hinweis:

Wenn das System eine generiert Fehlertyp:

PHP Fatal error: Uncaught Error: Class ‘SimpleXMLElement’ not found in /home/6bc5567266b35ae3e76d84307e5bdc78.php:24 ,

Dann installieren Sie einfach die Pakete php-xml, php-simplexml.

In diesem Artikel geht es um die Methode zum Konvertieren von Arrays in SimpleXML in PHP. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Array in PHP in SimpleXML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn