Re: Parsing XML the Sequel :)

From: Date: Sat, 10 Feb 2001 22:05:27 +0000
Subject: Re: Parsing XML the Sequel :)
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-39098@lists.php.net to get a copy of this message
On Sat, Feb 10, 2001 at 07:37:32PM +0100, Steve Haemelinck wrote: > The page I want to parse is: > > http://213.224.136.110:8080/test.xml > > And this is my code: > > <?php > > //Define Opening Tags of XML > $open_tags = array( > 'STORY' => '<nasdaqamex-dot-com>', > 'STOCK_NAME' => '<issue-name>', > 'LAST_SALE' => '<last-sale-price>', > 'PREVIOUS_CLOSE' => '<previous-close-price>', > 'NET_CHANGE_PCT' => '<net-change-pct>', > 'STOCK_URL' => '<issuer-web-site-url>'); (snip) > // handles the attributes for opening tags > // $attrs is a multidimensional array keyed by attribute > // name and having the value of that attribute > function startElement($parser, $name, $attrs=''){ > global $open_tags, $temp, $current_tag; > > $current_tag = $name; > if ($format = $open_tags[$name]){ > switch($name){ > case 'STORY': > echo 'New Story: '; > break; > default: > break; > } > } > } This probably isn't doing what you think it's doing. When the parser hits a new element tag, it will pass the parser object, element name, and its attributes to startElement(). $name will be the name of the element. Equity-quote, issue-name, etc. So when you go to look for $open_tags[$name], you won't find anything because the array is keyed to STORY, STOCK_NAME, etc. It looks like you're expecting the array to be backwards. Switching the keys/values and removing the <, /, > would be enough to make it work. HTH, Matt

« previous php.general (#39098) next »