English 中文(简体)
• 需要一些帮助,帮助XML教区
原标题:Need some help with XML parsing
  • 时间:2009-10-31 03:41:13
  •  标签:
最佳回答

当你hang死后,Xpath就非常简单。

你们基本上想要获得每个对口单位的某种归属感。

//match[@streaming=1]

工作将产生效果,它从母子tag下获得每个对口单位,其分量等于1

并且,我刚刚认识到,你也希望与一类“Ftb_Mr3”的护栏相匹配。

//match[@streaming=1]/bets/bet[@code="Ftb_Mr3"]

这样做将回头来,尽管我们想要的是,我们知道的是祖父母。

//match[@streaming=1]/bets/bet[@code="Ftb_Mr3"]/../..

两艘护卫舰与他们一样在档案中工作,并取得相应结果。

现在把这项工作纳入你的样本,只是把最后的轨道改为最后的轨道。

// need xpath magic
$nodes = $xml->xpath( //match[@streaming=1]/bets/bet[@code="Ftb_Mr3"]/../.. );

foreach($nodes as $node) {
    echo $node[ name ]. <br/> ;
}

a) 印刷所有对应名称。

问题回答

我正在利用这一项目。 相残:

<?php
        $match_csv = fopen( matches.csv ,  w );
        $bet_csv = fopen( bets.csv ,  w );
        $xml = simplexml_load_file( http://xml.cdn.betclic.com/odds_en.xml );
        $bookmaker =  Betclick ;
        foreach ($xml as $sport) {
            $sport_name = $sport->attributes()->name;
            foreach ($sport as $event) {
                $event_name = $event->attributes()->name;
                foreach ($event as $match) {
                    $match_name = $match->attributes()->name;
                    $match_id = $match->attributes()->id;
                    $match_start_date_str = str_replace( T ,    , $match->attributes()->start_date);
                    $match_start_date = strtotime($match_start_date_str);
                    if (!empty($match->attributes()->live_id)) {
                        $match_is_live = 1;
                    } else {
                        $match_is_live = 0;
                    }
                    if ($match->attributes()->streaming == 1) {
                        $match_is_running = 1;
                    } else {
                        $match_is_running = 0;
                    }
                    $match_row = $match_id .  ,  . $bookmaker .  ,  . $sport_name .  ,  . $event_name .  ,  . $match_name .  ,  . $match_start_date .  ,  . $match_is_live .  ,  . $match_is_running;
                    fputcsv($match_csv, explode( , , $match_row));
                    foreach ($match as $bets) {
                        foreach ($bets as $bet) {
                            $bet_name = $bet->attributes()->name;
                            foreach ($bet as $choice) {
                                // team numbers are surrounded by %, we strip them
                                $choice_name = str_replace( % ,   , $choice->attributes()->name);
                                // get the float value of odss
                                $odd = (float)$choice->attributes()->odd;
                                // concat the row to be put to csv file
                                $bet_row = $match_id .  ,  . $bet_name .  ,  . $choice_name .  ,  . $odd;
                                fputcsv($bet_csv, explode( , , $bet_row));
                            }
                        }
                    }
                }
            }
        }
        fclose($match_csv);
        fclose($bet_csv);
?>

之后,将剪辑文件装入我的手法。 每天一分钟就开车,迄今为止是巨大的。





相关问题
热门标签