note 71174 added to ref.xmlreader

From: Date: Wed, 15 Nov 2006 04:09:08 +0000
Subject: note 71174 added to ref.xmlreader
Groups: php.notes 
Request: Send a blank email to php-notes+get-119734@lists.php.net to get a copy of this message
Example, as requested, with nested nodes. <?php ob_start(); ?> <root> <folder> <name>folder A</name> <files> <file> <name>Afile 1</name> </file> <file> <name>Afile 2</name> </file> </files> </folder> <folder> <name>folder B</name> <files> <file> <name>Bfile 1</name> </file> <file> <name>Bfile 2</name> </file> </files> </folder> </root> <?php $xmldata = ob_get_contents(); ob_end_clean(); $xml = new XMLReader(); $xml->XML($xmldata); $data = array(); while ($xml->read()) { while($xml->depth<=2 && $xml->nodeType==1) $xml->read(); if ($xml->nodeType==3 && $xml->depth==3) // NodeType 3 : Text Element { $strFolderName = $xml->value; $data[$strFolderName]=array(); while($xml->depth<=3) $xml->read(); while($xml->depth>=3) { //xdump(); if ($xml->nodeType==3) $data[$strFolderName][] = $xml->value; $xml->read(); } } } print_r($data); echo "\n"; ?> Output : Array ( [folder A] => Array ( [0] => Afile 1 [1] => Afile 2 ) [folder B] => Array ( [0] => Bfile 1 [1] => Bfile 2 ) ) ---- Server IP: 195.221.21.36 Probable Submitter: 62.147.201.126 ---- Manual Page -- http://www.php.net/manual/en/ref.xmlreader.php Edit -- https://master.php.net/note/edit/71174 Del: integrated -- https://master.php.net/note/delete/71174/integrated Del: useless -- https://master.php.net/note/delete/71174/useless Del: bad code -- https://master.php.net/note/delete/71174/bad+code Del: spam -- https://master.php.net/note/delete/71174/spam Del: non-english -- https://master.php.net/note/delete/71174/non-english Del: in docs -- https://master.php.net/note/delete/71174/in+docs Del: other reasons-- https://master.php.net/note/delete/71174 Reject -- https://master.php.net/note/reject/71174 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#119734) next »