p2p.wrox.com Forums

p2p.wrox.com Forums (http://p2p.wrox.com/index.php)
-   Beginning PHP (http://p2p.wrox.com/forumdisplay.php?f=95)
-   -   Help with PHP file reading XML file for output (http://p2p.wrox.com/showthread.php?t=66929)

rydog65 March 26th, 2008 05:13 PM

Help with PHP file reading XML file for output
 
hi there, I have a PHP page reading my XML document and creating an HTML table with a row for each entry, and a column for each attribute for that entry. There are currently two entries in the XML with 6 attributes each.

My PHP code is working correctly so far as pulling the XML in and printing it to the HTML table, but it is creating an extra blank entry for some reason, and I cannot figure out why. It adds a blank entry when it reads the XML and prints a row with no values...can anyone see my mistake?

Below is the PHP code on my PHP page:

Code:

<?php
function start_tag($parser, $name, $attrs){
    global $table_string;
    $table_string .= "<tr>
        <td width=\"100\" align=left bgcolor=#e7eee8 height=\"120px\" valign=\"middle\">
            <span class=\"listingpadding03\"><img src=\"../images/thumbs/$attrs[title].gif\" width=\"100\" height=\"100\" align=\"middle\" /></span>
        </td>
        <td width=\"90\" align=\"center\" bgcolor=#e7eee8 height=\"120px\">
            <span class=\"listingpadding03\">$attrs[artist]</span>
        </td>
        <td width=\"170\" align=\"center\" bgcolor=#e7eee8 height=\"120px\">
            $attrs[path]
        </td>
        <td width=\"120px\" align=\"center\" bgcolor=#e7eee8 height=\"120px\">
            <span class=\"listingpadding03\">$attrs[squarefootage]</span>
        </td>
        <td width=\"120px\" align=\"center\" bgcolor=#e7eee8 height=\"120px\">
            <span class=\"listingpadding03\">&nbsp;&nbsp;&nbsp;&nbsp; $attrs[bedsbaths]</span>
        </td>
        <td width=\"90px\" align=\"right\" bgcolor=#e7eee8 height=\"120px\">
            <span class=\"listingpadding03\">$attrs[price] &nbsp;&nbsp;</span>
        </td>
    </tr>
    <tr>
        <td colspan=\"6\" height=\"7\" bgcolor=\"#ffffff\"></td>
    </tr>";
}
function end_tag($parser, $name){}
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_set_element_handler($parser, "start_tag", "end_tag");
$table_string = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#e7eee8\" width=\"816\" class=\"phptablefont\">
        <tr><td colspan=\"6\" bgcolor=\"#f6f6f6\"><img src=\"../images/list-fo.gif\" alt=\"Buffington Available Homes\" width=\"750\" height=\"22\" /></td></tr><tr><td colspan=\"6\"><img src=\"../images/list-head.gif\" alt=\"Buffington Available Homes\" width=\"816\" height=\"22\" /></td></tr>";
xml_parse($parser, file_get_contents("playlist.xml")) or die("Error parsing XML file");
$table_string .= "</table>";
echo $table_string;
?>

And below here is the very simple XML file with two entries, and six attributes for each (each entry is called "song" and each has the following values: "title", "artist", "path", "squarefootage", "bedsbaths", and "price".).

Code:

<songs><song title="mckinleya" artist="testing" path="one" squarefootage="two" bedsbaths="three" price="four" /><song title="mckinleya" artist="testing" path="one" squarefootage="two" bedsbaths="three" price="four" /></songs>
Thank you in advance if you can help me!!! -

Ryan
Reply With Quote

C. Ryan McVinney


All times are GMT -4. The time now is 04:09 PM.

Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.