/**
  * Handler for start tags
  * @param resource $parser a resource handle of the XML parser
  * @param string $name
  * @param array $attributes
  * @return void
  */
 private function _start($parser, $name, $attributes)
 {
     $this->_tagStack[] = $name;
     if ($this->_maxDepth && count($this->_tagStack) > $this->_maxDepth) {
         throw new XmlToArrayException('Parse Error: max depth exceeded.', '7005');
     }
     $XmlToArrayNode = new XmlToArrayNode($name, $attributes);
     if ($this->_CurrentXmlToArrayNode instanceof XmlToArrayNode && $this->_CurrentXmlToArrayNode->isOpen()) {
         $this->_CurrentXmlToArrayNode->addChild($XmlToArrayNode);
         $XmlToArrayNode->setParentXmlToArrayNode($this->_CurrentXmlToArrayNode);
     }
     $this->_CurrentXmlToArrayNode = $XmlToArrayNode;
 }
Example #2
0
 public function testSetClosed()
 {
     $XmlToArrayNode = new XmlToArrayNode($this->_name, $this->_attributes);
     $this->assertTrue($XmlToArrayNode->isOpen());
     $XmlToArrayNode->setClosed();
     $this->assertFalse($XmlToArrayNode->isOpen());
 }