答案:{
if (is_array($value) && ! $delete)
{
foreach ($value as $suboption => $subvalue)
{
$this->{$option}["$suboption"] = $subvalue;
}
}
else
{
$this->$option = $value;
}
}
}
}
}
// these are the functions, which are intended to be overriden in user classes
/**
*
* @param mixed
* @return object DomNode
* @access private
*/
function insertNewResult(&$metadata)
{
if ($this->xmlroot)
return $this->xmlroot->new_child($this->tagNameResult, NULL);
else
{
$this->xmlroot = $this->xmldoc->add_root($this->tagNameResult);
//PHP 4.0.6 had $root->name as tagname, check for that here...
if (!isset($this->xmlroot->{$this->tagname}))
{
$this->tagname = "name";
}
return $this->xmlroot;
}
}
/**
* to be written
*
* @param object DomNode $parent_row
* @param mixed $res
* @param mixed $key
* @param mixed &metadata
* @return object DomNode
* @access private
*/
function insertNewRow($parent_row, $res, $key, &$metadata)
{
return $parent_row->new_child($this->tagNameRow, Null);
}
/**
* to be written
*
* @param object DomNode $parent
* @param mixed $res
* @param mixed $key
* @param mixed &$metadata
* @param mixed &$subrow
* @return object DomNode
* @access private
*/
function insertNewElement($parent, $res, $key, &$metadata, &$subrow)
{
return $parent->new_child($metadata[$key]["name"], $this->xml_encode(trim$res[$key]));
}
/**
* to be written
*
* @param mixed $key
* @param mixed $value
* @param mixed &$metadata
* @access private
*/
function addTableInfo($key, $value, &$metadata) {
}
// end functions, which are intended to be overriden in user classes
// here come some helper functions...
/**
* make utf8 out of the input data and escape & with & and "< " with "< "
* (we assume that when there's no space after < it's a tag, which we need in the xml)
* I'm not sure, if this is the standard way, but it works for me.
*
* @param string text to be utfed.
* @access private
*/
function xml_encode ($text)
{
if (function_exists("iconv") && isset($this->encoding_from) && isset($this->encoding_to))
{
ini_set("track_errors",1);
$text = iconv($this->encoding_from,$this->encoding_to,ereg_replace("&","&",ereg_replace("< ","< ",$text)));
if (! isset($text) )
{
if (isset($php_errormsg))
{
$errormsg = "error: $php_errormsg&q
上一个:DOMXML函数笔记
下一个:example1.php