• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 189
  • Last Modified:

XML Expat Parser

I'm fairly new to PHP, and I'm looking for some sample Expat code that rolls the following XML into a PHP array:

<Casetrack RelativeMonth="1" Day="1"/>
<Casetrack RelativeMonth="1" Day="2"/>
<Casetrack RelativeMonth="1" Day="3"/>
<Casetrack RelativeMonth="1" Day="7"/>
<Casetrack RelativeMonth="1" Day="8"/>

(I did not omit the DTD, it doesn't exist.)
0
jdana
Asked:
jdana
3 Solutions
 
thebradnetworkCommented:
Here is a good link for you to learn more about PHP.
http://www.w3schools.com/php/default.asp

What is that code suppose do do?
0
 
Xyptilon2Commented:
You can load the XML into an array with the php function SimpleXMLElement(), simplexml_load_string() or simplexml_load_file() function.

<?PHP
$string = <<<XML
<?xml version='1.0'?>
<Casetrack RelativeMonth="1" Day="1"/>
<Casetrack RelativeMonth="1" Day="2"/>
<Casetrack RelativeMonth="1" Day="3"/>
<Casetrack RelativeMonth="1" Day="7"/>
<Casetrack RelativeMonth="1" Day="8"/>
XML;

$xml = simplexml_load_string($string);

var_dump($xml);
?>

The variabele $xml will contain the XML data over which you can then loop or do other things. Goodluck, i hope this is useful. For more information see: http://cn2.php.net/manual/en/function.simplexml-load-string.php
0
 
Marcus BointonCommented:
Once you have parsed the XML as Xyptilon2 suggests, you then want to extract the parts you want. I'd suggest that XPath is the best way to do that, and SimpleXML has support for it:

http://uk2.php.net/manual/en/function.simplexml-element-xpath.php
XPath syntax is here:
http://www.w3schools.com/xpath/xpath_syntax.asp

You would probably want something like this:

$data = $xml->xpath('Casetrack');
var_dump($data);
0
 
jdanaAuthor Commented:
Thanks for the advice.  I'll actually got the Expat parser working with my array.  It's not easy to learn, but once you get it, it's pretty powerful.
0

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now