示例#1
0
 /**
  *	Parses the current tag content into Branches and Leaf(s); called from parseFromString
  *	@method		parseNodesFromTag
  *	@returns	none
  */
 function parseNodesFromTag()
 {
     $tempTag = new Tag();
     $parseString = $this->tag->getTagContent();
     while ($tagParsed = $tempTag->setTagFromString($parseString)) {
         if ($tagParsed[0] != 0 && trim(substr($parseString, 0, $tagParsed[0]) != "")) {
             $this->addXMLLeaf(new XMLLeaf(trim(substr($parseString, 0, $tagParsed[0]))));
         }
         $branch = new XMLBranch();
         $tempTagCopy = new Tag();
         $tempTagCopy->setTagName($tempTag->getTagName());
         $tempTagCopy->tagAttributes = $tempTag->tagAttributes;
         $tempTagCopy->setTagContent($tempTag->getTagContent());
         $branch->setTag($tempTagCopy);
         $branch->parseNodesFromTag();
         $branch->tag->setTagContent("");
         $this->addXMLBranch($branch);
         $parseString = trim(substr($parseString, $tagParsed[1]));
     }
     if (strlen($parseString) > 0 && trim($parseString) != "") {
         $this->addXMLLeaf(new XMLLeaf($parseString));
     }
 }