note 90671 added to domdocument.getelementbyid

From: Date: Mon, 04 May 2009 04:40:59 +0000
Subject: note 90671 added to domdocument.getelementbyid
Groups: php.notes 
Request: Send a blank email to php-notes+get-154172@lists.php.net to get a copy of this message
See example how multiple attributes and childs are parsed using php in a perfect way. coder : gurmukh singh Bhatti <?php $xml =<<<EOT <?xml version="1.0"?> <root> <section name="Section1"> <category id="Category1" name="google"> <arti name="article1"> <p>any html code here</p> <b>my name is so so</b> </arti> <arti name="article2">value2</arti> <arti name="article3">value3</arti> <arti name="article4">value4</arti> </category> <category id="Category2" name="yahoo"> <arti name="articleSection2">Test value</arti> </category> </section> <section name="Section2"> <category id="category1_of_section2" name="msn"> <arti name="article2">value1</arti> <arti name="article3">value2</arti> </category> <category id="Category2_of_section2" name="webcare"> <arti name="param3">value4</arti> </category> </section> </root> EOT; $dom = new DomDocument; $dom->preserveWhiteSpace = FALSE; $dom->loadXML($xml); $params = $dom->getElementsByTagName('section'); // Find Sections $k=0; foreach ($params as $param) //go to each section 1 by 1 { echo "Section Attribute :-> ".$params->item($k)->getAttribute('name')."<br>"; //get section attribute $params2 = $params->item($k)->getElementsByTagName('category'); //digg categories with in Section $i=0; // values is used to iterate categories foreach ($params2 as $p) { echo "&nbsp;&nbsp;- Category Attribute Name :-> ".$params2->item($i)->getAttribute('name')."<br>"; //get Category attributes $params3 = $params2->item($i)->getElementsByTagName('arti'); //dig Arti into Categories $j=0;//values used to interate Arti foreach ($params3 as $p2) { echo "&nbsp;&nbsp;&nbsp;- Article Attribute Name : ".$params3->item($j)->getAttribute('name').""; //get arti atributes echo "&nbsp;&nbsp; Value : ".$params3->item($j)->nodeValue."<br>"; //get Node value ; $j++; } $i++; } $k++; } ?> output : Section Attribute :-> Section1 - Category Attribute Name :-> google - Article Attribute Name : article1 Value : any html code heremy name is so so - Article Attribute Name : article2 Value : value2 - Article Attribute Name : article3 Value : value3 - Article Attribute Name : article4 Value : value4 - Category Attribute Name :-> yahoo - Article Attribute Name : articleSection2 Value : Test value Section Attribute :-> Section2 - Category Attribute Name :-> msn - Article Attribute Name : article2 Value : value1 - Article Attribute Name : article3 Value : value2 - Category Attribute Name :-> webcare - Article Attribute Name : param3 Value : value4 ---- Server IP: 79.132.192.3 Probable Submitter: 220.227.147.122 (proxied: 101.168.1.105) ---- Manual Page -- http://www.php.net/manual/en/domdocument.getelementbyid.php Edit -- https://master.php.net/note/edit/90671 Del: integrated -- https://master.php.net/note/delete/90671/integrated Del: useless -- https://master.php.net/note/delete/90671/useless Del: bad code -- https://master.php.net/note/delete/90671/bad+code Del: spam -- https://master.php.net/note/delete/90671/spam Del: non-english -- https://master.php.net/note/delete/90671/non-english Del: in docs -- https://master.php.net/note/delete/90671/in+docs Del: other reasons-- https://master.php.net/note/delete/90671 Reject -- https://master.php.net/note/reject/90671 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#154172) next »