PHP kullanarak bu XML beslemesini ayrıştırma

1 Cevap php

Ben bu url bir xml beslemesi

Now im trying parse the content, particularly the content in <REDIRECT></REDIRECT> tags. I use the following code to try and parse the content but it isnt working and im not sure what im doing wrong.

$xml_file = $ADurl;

$xml_headline_key = "*XML*RESULTS*LISTING*REDIRECT";
$xml_description_key = "*XML*RESULTS*LISTING*REDIRECT";

$story_array = array();

$counter = 0;
class xml_story{
    var $headline, $description;
}

function startTag($parser, $data){
    global $current_tag;
    $current_tag .= "*$data";
}

function endTag($parser, $data){
    global $current_tag;
    $tag_key = strrpos($current_tag, '*');
    $current_tag = substr($current_tag, 0, $tag_key);
}

function contents($parser, $data){
    global $current_tag, $xml_headline_key, $xml_description_key, $counter, $story_array;
    switch($current_tag){
        case $xml_headline_key:
            $story_array[$counter] = new xml_story();
            $story_array[$counter]->headline = $data;
            break;
        case $xml_description_key:
            $story_array[$counter]->description = $data;
            $counter++;
            break;
    }
}

$xml_parser = xml_parser_create();

xml_set_element_handler($xml_parser, "startTag", "endTag");

xml_set_character_data_handler($xml_parser, "contents");

$fp = fopen($xml_file, "r") or die("Could not open file");

$data = fread($fp, 1024) or die("Could not read file");

if(!(xml_parse($xml_parser, $data, feof($fp)))){
    die("Error on line " . xml_get_current_line_number($xml_parser));
}

xml_parser_free($xml_parser);

fclose($fp);

1 Cevap

Kullanamazsınız bir neden var mı simplexml?

$xml = simplexml_load_file('http://www.supashare.net/test.xml'); 
$result = $xml->xpath('/XML/RESULTS/LISTING/REDIRECT');
echo $result[0];