mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-06 18:21:39 +09:00
issue 2662 coding convention in xml class
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12225 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
fb0df50f3f
commit
2cb9487ba1
10 changed files with 1924 additions and 1660 deletions
|
|
@ -5,53 +5,70 @@
|
|||
* @package /classes/xml
|
||||
* @version 0.1
|
||||
*/
|
||||
class XmlGenerator{
|
||||
class XmlGenerator
|
||||
{
|
||||
/**
|
||||
* object change to xml
|
||||
* @param object $xml
|
||||
* @return string
|
||||
*/
|
||||
function obj2xml($xml){
|
||||
* object change to xml
|
||||
* @param object $xml
|
||||
* @return string
|
||||
*/
|
||||
function obj2xml($xml)
|
||||
{
|
||||
$buff = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
|
||||
|
||||
foreach($xml as $nodeName => $nodeItem){
|
||||
foreach($xml as $nodeName => $nodeItem)
|
||||
{
|
||||
$buff .= $this->_makexml($nodeItem);
|
||||
}
|
||||
return $buff;
|
||||
}
|
||||
|
||||
/**
|
||||
* object change to xml
|
||||
* @param object $node node in xml object
|
||||
* @return string
|
||||
*/
|
||||
function _makexml($node){
|
||||
* object change to xml
|
||||
* @param object $node node in xml object
|
||||
* @return string
|
||||
*/
|
||||
function _makexml($node)
|
||||
{
|
||||
$body = '';
|
||||
foreach($node as $key => $value){
|
||||
switch($key){
|
||||
foreach($node as $key => $value)
|
||||
{
|
||||
switch($key)
|
||||
{
|
||||
case 'node_name' : break;
|
||||
case 'attrs' : {
|
||||
$attrs = '';
|
||||
if (isset($value)){
|
||||
foreach($value as $attrName=>$attrValue){
|
||||
$attrs .= sprintf(' %s="%s"', $attrName, htmlspecialchars($attrValue));
|
||||
}
|
||||
}
|
||||
}break;
|
||||
case 'body' : $body = $value; break;
|
||||
default : {
|
||||
if (is_array($value)){
|
||||
foreach($value as $idx => $arrNode){
|
||||
$body .= $this->_makexml($arrNode);
|
||||
}
|
||||
}else if(is_object($value)){
|
||||
$body = $this->_makexml($value);
|
||||
}
|
||||
}
|
||||
case 'attrs' :
|
||||
{
|
||||
$attrs = '';
|
||||
if (isset($value))
|
||||
{
|
||||
foreach($value as $attrName=>$attrValue)
|
||||
{
|
||||
$attrs .= sprintf(' %s="%s"', $attrName, htmlspecialchars($attrValue));
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'body' :
|
||||
$body = $value;
|
||||
break;
|
||||
default :
|
||||
{
|
||||
if (is_array($value))
|
||||
{
|
||||
foreach($value as $idx => $arrNode)
|
||||
{
|
||||
$body .= $this->_makexml($arrNode);
|
||||
}
|
||||
}
|
||||
else if(is_object($value))
|
||||
{
|
||||
$body = $this->_makexml($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return sprintf('<%s%s>%s</%s>'."\n", $node->node_name, $attrs, $body, $node->node_name);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
/* End of file XmlGenerator.class.php */
|
||||
/* Location: ./classes/xml/XmlGenerator.class.php */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue