大家好我需要帮助解析具有多个嵌套属性的XML。 XML文件的一小部分在这里http://pastebin.com/bswFcdeX 我需要解析XML并将每个节点保存到DB。我正在使用Laravel。我现在有这个:
foreach ($lista->sport as $sport){
foreach ($lista->sport->league as $liga){
$mLiga = new League();
$mLiga->liga_id = $liga->attributes()->leagueID;
$mLiga->liga = $liga->attributes()->competition;
$mLiga->sport_id = current($sport->attributes()->id);
$mLiga->save();
}
$mSport = new Sport();
$mSport->id = $sport->attributes()->id;
$mSport->sport_eng = $sport->attributes()->name;
$mSport->save();
}
Sport表正确填充,但是League表填充了所有Sport数据的所有数据,组合起来,制作了不需要的重复项,而不仅仅是在THAT Sport节点中填充数据。我认为 current($ sport-> attributes() - > id)可以解决问题。
答案 0 :(得分:1)
foreach ($lista->sport as $sport){
foreach ($sport->league as $liga){
$mLiga = new League();
$mLiga->liga_id = $liga->attributes()->leagueID;
$mLiga->liga = $liga->attributes()->competition;
$mLiga->sport_id = current($sport->attributes()->id);
$mLiga->save();
}
$mSport = new Sport();
$mSport->id = $sport->attributes()->id;
$mSport->sport_eng = $sport->attributes()->name;
$mSport->save();
}
你会在嵌套循环中迭代错误的命令。尝试上面的代码,所以你迭代一个运动的联赛