On Wed, 18 Jun 2008 14:45:27 +0200, Captain Paralytic
<pa**********@yahoo.comwrote:
On 18 Jun, 13:26, David Gillen <bel...@RedBrick.DCU.IEwrote:
>On Tue, 17 Jun 2008 Damodhar <damu...@gmail.comwrote:
Any one help me to parse the bellow xml feed please ..
>================================================= ==========
><item>
* * * *<title>Green earthquake alert Japan(M=6.8) potentially
affecting 4.6 million people.</title>
* * * *<pubDate>Fri, 13 Jun 2008 23:43 UTC</pubDate>
* * * *<gdas:eventType>EQ</gdas:eventType>
* * * *<gdas:alertLevel>Green</gdas:alertLevel>
* * * *<asgard:alertLevel>Green</asgard:alertLevel>
* * * *<dc:subject>EQ_Green</dc:subject>
</item>
================================================= ==========
my code :
$xml = new SimpleXMLElement($xmldetails);
do $xml = simplexml_load_string($xmldetails);
print_r($xml);
And it'll maybe help you get to the bottom of it.
D.
--
You don't stop playing games because you get old.
You get old because you stop playing games.- Hide quoted text -
- Show quoted text -
How does that square with:
Note: SimpleXML has made a rule of adding iterative properties to most
methods. They cannot be viewed using var_dump() or anything else which
can examine objects.
Yup, parsing errors in SimpleXML, either just catch the errors or use
libXML:
http://nl2.php.net/manual/en/functio...get-errors.php
Then again, if namespaces & prefixed are of importance, DOM is a far
better (allthough heavier) solution. For SimpleXML observe the output of:
<?php
$string = "<item>
<title>Green earthquake alert Japan(M=6.8) potentially
affecting 4.6 million people.</title>
<pubDate>Fri, 13 Jun 2008 23:43 UTC</pubDate>
<gdas:eventType>EQ</gdas:eventType>
<gdas:alertLevel>Green</gdas:alertLevel>
<asgard:alertLevel>Green</asgard:alertLevel>
<dc:subject>EQ_Green</dc:subject>
</item>";
libxml_use_internal_errors(true);
$xml = simplexml_load_string($string);
$errors = libxml_get_errors();
if(!empty($errors)){
foreach ($errors as $error) var_dump($error);
}
libxml_clear_errors();
//works:
var_dump($xml->eventType);
var_dump($xml->xpath('//eventType'));
//doesn't work as desired
var_dump($xml->{'gdas:eventType'});
var_dump($xml->xpath('//gdas:eventType'));
//check
echo $xml->asXML();
?>
Mind you, try to repeat that with:
$string = "<item xmlns='http://foobar' xmlns:gdas='http://fozbaz'>
<title>Green earthquake alert Japan(M=6.8) potentially
affecting 4.6 million people.</title>
<pubDate>Fri, 13 Jun 2008 23:43 UTC</pubDate>
<gdas:eventType>EQ</gdas:eventType>
<gdas:alertLevel>Green</gdas:alertLevel>
<asgard:alertLevel>Green</asgard:alertLevel>
<dc:subject>EQ_Green</dc:subject>
</item>";
.... it's a whole other issue ;). Wellformed XML is a lot easier to work
with...
///off to work with terrible Facile Forms....
--
Rik Wasmus
....spamrun finished