php问题中的xml解析

php问题中的xml解析,php,xml,Php,Xml,我在解析XML文件时遇到了一个问题,其中的前3个元素已解析(Innings id=“1”,Innings id=“2”,Innings id=“3”),但无法解析。 我如何解决它? 我的。 代码如下: <?php $xml=simplexml_load_file("http://optasports.com/media/888415/crml-36474.xml") or die("Error: Cannot create object"); foreach($xml as

我在解析XML文件时遇到了一个问题,其中
的前3个元素已解析(Innings id=“1”,Innings id=“2”,Innings id=“3”)
,但
无法解析。
我如何解决它?
我的。
代码如下:

    <?php
$xml=simplexml_load_file("http://optasports.com/media/888415/crml-36474.xml") or die("Error: Cannot create object");



foreach($xml as $news) {
    //echo "<pre>";
    //print_r($news);


    /*Innings id="1" batting_team_id="3" bowling_team_id="2" declared="0" follow_on="0" forfeited="0" overnight_runs="0" 
    overnight_wickets="0"> */
     echo '<h2>Innings:</h2>';
    echo " Innings id:" .$news['id'];
    echo "<br>";
    echo " batting_team_id:".$news['batting_team_id'];

    echo " bowling_team_id:".$news['bowling_team_id'];

    echo " declared:".$news['declared'];

    echo " follow_on:".$news['follow_on'];

    echo " forfeited:".$news['forfeited'];

    echo " overnight_runs:".$news['overnight_runs'];

    echo " overnight_wickets:".$news['overnight_wickets'];

        echo "<br>";    

    //print_r($news->Bowlers);  

    echo '<h4>Batting</h4>';
    foreach($news->Batsmen as $Batsmen){
        /*Batsman id="3107" balls_faced="1" bowled_by="3065" caught_by="4456" day="1" dismissal_id="3" fours_scored="0" how_out="Caught Jos Buttler Bowled James Anderson" 
        minutes="3" non_strike="0" on_strike="0" order="2" runs_scored="0" sixes_scored="0" */
        foreach($Batsmen as $Batsman){
            echo " Batsmen id:" .$Batsman['id'];

            echo " balls_faced:".$Batsman['balls_faced'];

            echo " bowled_by:".$Batsman['bowled_by'];

            echo " caught_by:".$Batsman['caught_by'];       
            echo "day:".$Batsman['day'];    
            echo " dismissal_id:".$Batsman['dismissal_id']; 
            echo " fours_scored:".$Batsman['fours_scored']; 
            echo " how_out:".$Batsman['how_out'];   
            echo " minutes:".$Batsman['minutes'];
            echo " non_strike:".$Batsman['non_strike']; 
            echo " on_strike:".$Batsman['on_strike'];
            echo " order:".$Batsman['order'];
            echo " runs_scored:".$Batsman['runs_scored'];
            echo " sixes_scored:".$Batsman['sixes_scored'];             
            echo "<br>";            
        }               

    }   

    echo '<h4>Bowling</h4>';
    foreach($news->Bowlers as $bowlers){
/*<Bowler id="3065" balls_bowled="0" dot_balls="79" maidens_bowled="4" no_balls="0" non_strike="1" on_strike="0" order="1" overs_bowled="17" 
runs_conceded="51" wickets_taken="2" wides="0"/> */
            //echo"<pre>";          
            //print_r($bowlers);

        foreach($bowlers as $bowler){
                //print_r($bowler);
                echo "Bowler id:" .$bowler['id'];

            echo " balls_bowled:".$bowler['balls_bowled'];

            echo " dot_balls:".$bowler['dot_balls'];

            echo " maidens_bowled:".$bowler['maidens_bowled'];

            echo " no_balls:".$bowler['no_balls'];

            echo " non_strike:".$bowler['non_strike'];

            echo " order:".$bowler['order'];

            echo " overs_bowled:".$bowler['overs_bowled'];

            echo " runs_conceded:".$bowler['runs_conceded'];

            echo " wickets_taken:".$bowler['wickets_taken'];

            echo " wides:".$bowler['wides'];
            echo "<br>";                
            }                           
    }

    echo '<h4>Extra</h4>';
    foreach($news->Extras as $Extras){
     /*<Extras byes="6" leg_byes="1" no_balls="0" penalties="0" total_extras="7" wides="0"/>*/  
        echo " byes:".$Extras['byes'];
        echo " leg_byes:".$Extras['leg_byes'];
        echo " no_balls:".$Extras['no_balls'];
        echo " penalties:".$Extras['penalties'];
        echo " total_extras:".$Extras['total_extras'];
        echo " wides:".$Extras['wides'];
        echo "<br>";        
    }   
    echo '<h4>Fall of wicket</h4>';
    foreach($news->FallofWickets as $FallofWicket){
        /*<FallofWicket order="1" over_ball="0.4" player_id="3107" runs="3"/>   */
        //print_r($FallofWicket);
        foreach($FallofWicket as $Wicket){
        echo " order:".$Wicket['order'];
        echo " over_ball:".$Wicket['over_ball'];
        echo " player_id:".$Wicket['player_id'];
        echo " runs:".$Wicket['runs'];
        echo "<br>";        
        }
    }
    echo '<h4>Total</h4>';
    foreach($news->Total as $Total){
        /*<Total overs="61.1" runs_scored="148" wickets="10"/>*/    

        echo " overs:".$Total['overs'];
        echo " runs_scored:".$Total['runs_scored'];
        echo " wickets:".$Total['wickets']; 

    }       
}
?>
*/
回音“局数:”;
echo“局号:”.$news['id'];
回声“
”; echo“batting_team_id:”.$news['batting_team_id'”; echo“bowling_team_id:”.$news['bowling_team_id']; echo“声明:”.$news['declared']; echo“follow_on:”.$news['follow_on']; echo“没收:”.$news[“没收”]; echo“隔夜跑步:”.$news[“隔夜跑步”]; echo“通宵维克茨:”.$news[“通宵维克茨”]; 回声“
”; //打印($news->Bowlers); 回音“击球”; foreach($news->batsmans as$batsmans){ /*击球手id=“3107”balls\u face=“1”bowled\u by=“3065”catch\u by=“4456”day=“1”解雇\u id=“3”fours\u scored=“0”how\u out=“catch Jos Buttler bowled James Anderson” 分钟数=“3”非罢工=“0”罢工=“0”命令=“2”分*/ foreach($Batsman作为$Batsman){ 回声“击球手id:.$Batsman['id']; 回声“有脸的球:”.$Batsman[“有脸的球]; 回声“保龄球手”:.$Batsman['BOLLED_']; echo“被抓到”:$Batsman[“被抓到”]; 回声日:.$Batsman['day']; 回声“解雇id:.$Batsman['解雇id'”; 回声“四人得分:”.$Batsman[“四人得分”]; 回声“how_out:”.$Batsman[“how_out”]; 回声“分钟数:.”击球员['minutes']; 回声“非击球员”:击球员[‘非击球员’]; echo“on_strike:”.$Batsman[“on_strike”]; 回声“命令:.”击球员[‘命令’]; echo“跑动得分:”.$Batsman[“跑动得分”]; 回声“六分球”:.$Batsman['六分球']; 回声“
”; } } 回声“保龄球”; foreach($news->Bowlers as$Bowlers){ /* */ //回声“; //印刷(保龄球); foreach($bowlers作为$bowler){ //印刷(保龄球); 回声“保龄球手id:”.$Bowler['id']; 回声“保龄球”:.$bowler['balls\u bowled'; 回声“圆点球:.$bowler['dot_球'”; echo“maidens_bowled:”.$bowler['maidens_bowled']; 回音“无球”:.$bowler[‘无球’”; 呼应“非罢工”:.$bowler[“非罢工”]; 回音“订单:”.$bowler['order']; 回声“overs_bowled:”.$bowler['overs_bowled']; echo“承认跑动”:.$bowler[“承认跑动”]; echo“wickets_take:”.$bowler['wickets_take']; 回声“宽:.$bowler['wides']; 回声“
”; } } 回声“额外”; foreach($news->Extras作为$Extras){ /**/ 回音“是”:.$Extras[“是”]; 回声“leg_u-byes:”.$Extras['leg_-byes'”; 回声“无球”:.$Extras['no_balls']; 回音“处罚:”.$Extras[“处罚”]; echo“额外支出总额:.”额外支出总额['total_extras']; echo“wides:.$Extras['wides']; 回声“
”; } 呼应“小门坠落”; foreach($news->FallofWickets as$FallofWicket){ /* */ //印刷(法洛维克特); foreach($FallofWicket作为$Wicket){ echo“订单:”.$Wicket['order']; 回声“过球:”.$Wicket[“过球”]; echo“player_id:”.$Wicket['player_id']; echo“runs:.$Wicket['runs']; 回声“
”; } } 回声“总计”; foreach($news->Total as$Total){ /**/ 回音“overs:”.$Total['overs']; echo“得分的跑步次数:”。总计[“得分的跑步次数]; echo“wickets:”。总计['wickets']; } } ?>
Hi Mohammad,请添加该XML的有效但小型版本。有一天,外部链接可能会消失,那么你的问题是无法理解的。请将您的PHP代码精简到最低限度,以澄清问题。请准确地定义什么东西没有按照您希望的方式工作。如果您这样做,您将在这里得到非常有价值的答案。请告诉我如何从xml文件中的子元素(,,)获取所有数据