Jump to content

XML parsing help


jimbob26

Recommended Posts

Hello, I currently have this XML file for images:
[code]
<?xml version="1.0"?>
<images>
    <image src="a.png">
        <name>a</name>
        <description>Jim a</description>
    </image>
    <image src="b.png">
        <name>b</name>
        <description>Jim b</description>
    </image>
</images>
[/code]

And also have this php file:

[code]
<?php
$open_stack = array();
$parser = xml_parser_create();
xml_set_element_handler($parser,"start_handler","end_handler");
xml_set_character_data_handler($parser,"character_handler");
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parse($parser,implode("",file("images.xml"))) or die(format_error($parser));
xml_parser_free($parser);
function start_handler($p,$name,$atts) {
    global $open_stack;
    $open_stack[] = array($name,"");
}
function character_handler($p,$txt) {
    global $open_stack;
    $cur_index = count($open_stack)-1;
    $open_stack[$cur_index][1] .= $txt;
}
function end_handler($p,$name) {
    global $open_stack;
    $el = array_pop($open_stack);
    if($name=="name") {
        print "<b>$el[1]</b>";
    }
    if($name=="description") {
        print "<i>$el[1]</i><br>";
    }
}
function format_error($p) {
    $code = xml_error_code($p);
    $str = xml_error_string($code);
    $line = xml_get_current_line_number($p);
    return "XML ERROR ($code): $str at line $line";
}
?>
[/code]

This works fine but im not sure how to extract the src attribute from the image tag (<image src="a.png">). Everything else is working fine, both the name and description of the file is being outputted correctly.

Any help is greatly appreciated.
Thanks in advance, jim
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.