Esempio n. 1
0
 public static function from_array($array, $level = 1)
 {
     $xml = '';
     // if ($level==1) {
     //     $xml .= "<array>\n";
     // }
     foreach ($array as $key => $value) {
         $key = strtolower($key);
         if (is_object($value)) {
             $value = get_object_vars($value);
         }
         // convert object to array
         if (is_array($value)) {
             $multi_tags = false;
             foreach ($value as $key2 => $value2) {
                 if (is_object($value2)) {
                     $value2 = get_object_vars($value2);
                 }
                 // convert object to array
                 if (is_array($value2)) {
                     $xml .= str_repeat("\t", $level) . "<{$key}>\n";
                     $xml .= xml::from_array($value2, $level + 1);
                     $xml .= str_repeat("\t", $level) . "</{$key}>\n";
                     $multi_tags = true;
                 } else {
                     if (trim($value2) != '') {
                         if (htmlspecialchars($value2) != $value2) {
                             $xml .= str_repeat("\t", $level) . "<{$key2}><![CDATA[{$value2}]]>" . "</{$key2}>\n";
                         } else {
                             $xml .= str_repeat("\t", $level) . "<{$key2}>{$value2}</{$key2}>\n";
                             // changed $key to $key2
                         }
                     }
                     $multi_tags = true;
                 }
             }
             if (!$multi_tags and count($value) > 0) {
                 $xml .= str_repeat("\t", $level) . "<{$key}>\n";
                 $xml .= xml::from_array($value, $level + 1);
                 $xml .= str_repeat("\t", $level) . "</{$key}>\n";
             }
         } else {
             if (trim($value) != '') {
                 // echo "value=$value<br>";
                 if (htmlspecialchars($value) != $value) {
                     $xml .= str_repeat("\t", $level) . "<{$key}>" . "<![CDATA[{$value}]]></{$key}>\n";
                 } else {
                     $xml .= str_repeat("\t", $level) . "<{$key}>{$value}</{$key}>\n";
                 }
             }
         }
     }
     //if ($level==1) {
     //    $xml .= "</array>\n";
     // }
     return $xml;
 }
Esempio n. 2
0
<root>
	<title><![CDATA[<?php 
echo $row['title'];
?>
]]></title>
	<copy><![CDATA[<?php 
echo $row['copy'];
?>
]]></copy>
	<date_added><?php 
echo $row['date_added'];
?>
</date_added>
	<date_modified><?php 
echo $row['date_modified'];
?>
</date_modified>
	<meta_keywords><![CDATA[<?php 
echo $row['meta_keywords'];
?>
]]></meta_keywords>
	<meta_description><![CDATA[<?php 
echo $row['meta_description'];
?>
]]></meta_description>
	<plugins>
		<?php 
echo xml::from_array($row['plugins']);
?>
	</plugins>
</root>