Solved

XML Expat Parser

Posted on 2008-10-20
4
183 Views
Last Modified: 2013-12-13
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
Comment
Question by:jdana
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 6

Assisted Solution

by:thebradnetwork
thebradnetwork earned 83 total points
ID: 22763715
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
 
LVL 13

Assisted Solution

by:Xyptilon2
Xyptilon2 earned 83 total points
ID: 22764076
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
 
LVL 25

Accepted Solution

by:
Marcus Bointon earned 84 total points
ID: 22765333
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
 

Author Closing Comment

by:jdana
ID: 31507788
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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Generating table dynamically is the most common issue faced by php developers.... So it seems there is a need of an article that explains the basic concept of generating tables dynamically. It just requires a basic knowledge of html and little maths…
Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question