php问题中的xml解析
我在解析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
的前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文件中的子元素(,,)获取所有数据