<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Комментарии: Преобразование массива array в XML (Array to XML PHP)	</title>
	<atom:link href="https://ittricks.ru/programmirovanie/502/preobrazovanie-massiva-v-xml-array-to-xml/feed" rel="self" type="application/rss+xml" />
	<link>https://ittricks.ru/programmirovanie/502/preobrazovanie-massiva-v-xml-array-to-xml</link>
	<description>Заметки на IT тематику</description>
	<lastBuildDate>Wed, 11 Sep 2019 21:26:40 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		Автор: Antu Antu		</title>
		<link>https://ittricks.ru/programmirovanie/502/preobrazovanie-massiva-v-xml-array-to-xml#comment-390</link>

		<dc:creator><![CDATA[Antu Antu]]></dc:creator>
		<pubDate>Fri, 19 Jul 2019 08:54:01 +0000</pubDate>
		<guid isPermaLink="false">https://ittricks.ru/?p=502#comment-390</guid>

					<description><![CDATA[Какие-то блоки item не понятно зачем они гораздо проще. 

$xml_data = new SimpleXMLElement(&#039;&#039;);

function to_xml(&#038;$object, $data) {
                foreach($data as $key =&#062; $value) {
                    if(is_array($value)) {
                        if(!is_numeric($key)){
                            $subnode = $object-&#062;addChild(&quot;$key&quot;);
                            self::to_xml($subnode,$value);
                        }
                        else{
                            self::to_xml($object,$value);
                        }
                    }
                    else {
                        $object-&#062;addChild(&quot;$key&quot;,&quot;$value&quot;);
                    }
                }
        }


 $result = $xml_data-&#062;asXML();]]></description>
			<content:encoded><![CDATA[<p>Какие-то блоки item не понятно зачем они гораздо проще. </p>
<p>$xml_data = new SimpleXMLElement(&#187;);</p>
<p>function to_xml(&amp;$object, $data) {<br />
                foreach($data as $key =&gt; $value) {<br />
                    if(is_array($value)) {<br />
                        if(!is_numeric($key)){<br />
                            $subnode = $object-&gt;addChild(&#171;$key&#187;);<br />
                            self::to_xml($subnode,$value);<br />
                        }<br />
                        else{<br />
                            self::to_xml($object,$value);<br />
                        }<br />
                    }<br />
                    else {<br />
                        $object-&gt;addChild(&#171;$key&#187;,&#187;$value&#187;);<br />
                    }<br />
                }<br />
        }</p>
<p> $result = $xml_data-&gt;asXML();</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: Antu Antu		</title>
		<link>https://ittricks.ru/programmirovanie/502/preobrazovanie-massiva-v-xml-array-to-xml#comment-391</link>

		<dc:creator><![CDATA[Antu Antu]]></dc:creator>
		<pubDate>Fri, 19 Jul 2019 04:41:59 +0000</pubDate>
		<guid isPermaLink="false">https://ittricks.ru/?p=502#comment-391</guid>

					<description><![CDATA[Какие-то блоки item не понятно зачем они гораздо проще. 
&lt;code&gt;
$xml_data = new SimpleXMLElement(&#039;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#039;);

function to_xml(&amp;$object, $data) {
                foreach($data as $key =&gt; $value) {
                    if(is_array($value)) {
                        if(!is_numeric($key)){
                            $subnode = $object-&gt;addChild(&quot;$key&quot;);
                            self::to_xml($subnode,$value);
                        }
                        else{
                            self::to_xml($object,$value);
                        }
                    }
                    else {
                        $object-&gt;addChild(&quot;$key&quot;,&quot;$value&quot;);
                    }
                }
        }


 $result = $xml_data-&gt;asXML();&lt;/code&gt;]]></description>
			<content:encoded><![CDATA[<p>Какие-то блоки item не понятно зачем они гораздо проще.<br />
<code><br />
$xml_data = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?>');</p>
<p>function to_xml(&#038;$object, $data) {<br />
                foreach($data as $key => $value) {<br />
                    if(is_array($value)) {<br />
                        if(!is_numeric($key)){<br />
                            $subnode = $object->addChild("$key");<br />
                            self::to_xml($subnode,$value);<br />
                        }<br />
                        else{<br />
                            self::to_xml($object,$value);<br />
                        }<br />
                    }<br />
                    else {<br />
                        $object->addChild("$key","$value");<br />
                    }<br />
                }<br />
        }</p>
<p> $result = $xml_data->asXML();</code></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: Szen		</title>
		<link>https://ittricks.ru/programmirovanie/502/preobrazovanie-massiva-v-xml-array-to-xml#comment-347</link>

		<dc:creator><![CDATA[Szen]]></dc:creator>
		<pubDate>Thu, 19 Feb 2015 21:44:07 +0000</pubDate>
		<guid isPermaLink="false">https://ittricks.ru/?p=502#comment-347</guid>

					<description><![CDATA[я бы немного упростил и оптимизировал код: 

function xml_encode ($array, $node = null) {
 if (!isset($node)) $node = new SimpleXMLElement(&#039;&#039;);
 foreach ($array as $key =&#062; $value) {
 if (is_numeric($key)) $key = &#039;item&#039; . $key;
 if (is_array($value)) {
 $subnode = $node-&#062;addChild($key);
 $node = $this-&#062;xml_encode($array, $subnode);
 } else {
 $node-&#062;addChild($key, $value);
 }
 }
 return $node-&#062;asXML();
}]]></description>
			<content:encoded><![CDATA[<p>я бы немного упростил и оптимизировал код: </p>
<p>function xml_encode ($array, $node = null) {<br />
 if (!isset($node)) $node = new SimpleXMLElement(&#187;);<br />
 foreach ($array as $key =&gt; $value) {<br />
 if (is_numeric($key)) $key = &#8216;item&#8217; . $key;<br />
 if (is_array($value)) {<br />
 $subnode = $node-&gt;addChild($key);<br />
 $node = $this-&gt;xml_encode($array, $subnode);<br />
 } else {<br />
 $node-&gt;addChild($key, $value);<br />
 }<br />
 }<br />
 return $node-&gt;asXML();<br />
}</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
