Changeset 707

Show
Ignore:
Timestamp:
06/05/07 21:16:45 (1 year ago)
Author:
schst
Message:

New feature that allows you to remove the container tag from a list

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/xml/serializer/stubXMLSerializer.php

    r678 r707  
    273273            $tagName = 'array'; 
    274274        } 
    275         $xmlWriter->writeStartElement($tagName); 
     275        if ($tagName !== false) { 
     276            $xmlWriter->writeStartElement($tagName); 
     277        } 
    276278        foreach ($array as $key => $value) { 
    277279            if (is_int($key)) { 
     
    285287            } 
    286288        } 
    287         $xmlWriter->writeEndElement(); 
     289        if ($tagName !== false) { 
     290            $xmlWriter->writeEndElement(); 
     291        } 
    288292    } 
    289293} 
  • trunk/src/test/php/net/stubbles/xml/stubXMLSerializerTestCase.php

    r552 r707  
    6666 
    6767    /** 
    68      * Scalar property 
     68     * Array property 
    6969     * 
    7070     * @var int 
    7171     * @XMLTag(tagName='list', elementTagName='item') 
     72     */ 
     73    public $bar = array('one', 'two', 'three'); 
     74} 
     75 
     76/** 
     77 * Simple Test class to test the XMLSerializer 
     78 * 
     79 * @XMLTag(tagName='container') 
     80 */ 
     81class XMLSerializerList2 { 
     82 
     83    /** 
     84     * Array property 
     85     * 
     86     * @var int 
     87     * @XMLTag(tagName=false, elementTagName='item') 
    7288     */ 
    7389    public $bar = array('one', 'two', 'three'); 
     
    270286        $this->serializer->serialize($obj, $writer); 
    271287        $this->assertEqual('<?xml version="1.0" encoding="ISO-8859-1"?>' . "\n" . '<container><list><item>one</item><item>two</item><item>three</item></list></container>', $writer->asXML()); 
     288 
     289        $writer = new stubDomXMLStreamWriter(); 
     290        $obj = new XMLSerializerList2(); 
     291        $this->serializer->serialize($obj, $writer); 
     292        $this->assertEqual('<?xml version="1.0" encoding="ISO-8859-1"?>' . "\n" . '<container><item>one</item><item>two</item><item>three</item></container>', $writer->asXML()); 
    272293    } 
    273294