note 106745 deleted from ref.xml by danbrown

From: Date: Tue, 06 Dec 2011 18:44:53 +0000
Subject: note 106745 deleted from ref.xml by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-184954@lists.php.net to get a copy of this message
Note Submitter: Glen at ITIStudios dot ca ---- This is supplimental information for the "class xmlToArrayParser" (that follows) which was was included in my original Dec 2010 post. This is a fully functional error free, extensively tested php class unlike the posts that follow it. Key phrase: Fully functional, fully tested, error free XML To Array parser. <?php /** * class xmlToArrayParser * Notes: 1. 'attrib' and 'cdata' are keys added to the array when the element contains both attributes and content. 2. Ignores content that is not in between it's own set of tags. 3. Don't know if it recognizes processing instructions nor do I know about processing instructions. <\?some_pi some_attr="some_value"?> This is the same as a document declaration. 4. Empty elements are not included unless they have attributes. 5. Version 2.0, Dec. 2, 2011, added xml error reporting. Usage: $domObj = new xmlToArrayParser($xml); $elemVal = $domObj->array['element'] Or assign the entire array to its own variable: $domArr = $domObj->array; $elemVal = $domArr['element'] Example: $xml = '<?xml version="1.0" encoding="UTF-8" standalone="no"?> <top> <element1>element content 1</element1> <element2 var2="val2" /> <element3 var3="val3" var4="val4">element content 3</element3> <element3 var5="val5">element content 4</element3> <element3 var6="val6" /> <element3>element content 7</element3> </top>'; $domObj = new xmlToArrayParser($xml); $domArr = $domObj->array; if($domObj->parse_error) echo $domObj->get_xml_error(); else print_r($domArr); On Success: $domArr['top']['element1'] => element content 1 $domArr['top']['element2']['attrib']['var2'] => val2 $domArr['top']['element3']['0']['attrib']['var3'] => val3 $domArr['top']['element3']['0']['attrib']['var4'] => val4 $domArr['top']['element3']['0']['cdata'] => element content 3 $domArr['top']['element3']['1']['attrib']['var5'] => val5 $domArr['top']['element3']['1']['cdata'] => element content 4 $domArr['top']['element3']['2']['attrib']['var6'] => val6 $domArr['top']['element3']['3'] => element content 7 On Error: Error Code [76] "Mismatched tag", at char 58 on line 3 * */ ?>

« previous php.notes (#184954) next »