Receiving should be complete, sending partially works

This commit is contained in:
Michael Vogel 2016-03-06 00:53:30 +01:00 committed by Roland Haeder
parent 49e8528e52
commit 265af9c99b
No known key found for this signature in database
GPG key ID: B72F8185C6C7BD78
2 changed files with 538 additions and 40 deletions

39
include/xml.php Normal file
View file

@ -0,0 +1,39 @@
<?php
/**
* @brief This class contain functions to work with XML data
*
*/
class xml {
function from_array($array, &$xml) {
if (!is_object($xml)) {
foreach($array as $key => $value) {
$root = new SimpleXMLElement("<".$key."/>");
self::from_array($value, $root);
$dom = dom_import_simplexml($root)->ownerDocument;
$dom->formatOutput = true;
$xml = $dom;
return $dom->saveXML();
}
}
foreach($array as $key => $value) {
if (!is_array($value) AND !is_numeric($key))
$xml->addChild($key, $value);
elseif (is_array($value))
self::from_array($value, $xml->addChild($key));
}
}
function copy(&$source, &$target, $elementname) {
if (count($source->children()) == 0)
$target->addChild($elementname, $source);
else {
$child = $target->addChild($elementname);
foreach ($source->children() AS $childfield => $childentry)
self::copy($childentry, $child, $childfield);
}
}
}
?>