嵌套 XML 解析
Nested XML parsing
大家好,我需要帮助来解析具有多个嵌套属性的 XML。 XML 文件的一小部分在这里 http://pastebin.com/bswFcdeX
我需要解析 XML 并将每个节点保存到数据库。我正在使用 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 table 正在正确填充,但 League table 使用所有 Sport 数据填充所有数据,合并,产生不需要的重复,而不是仅在 THAT Sport 节点中填充数据。我认为 current($sport->attributes()->id) 会成功。
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();
}
您会在嵌套循环中迭代错误的条目。试试上面的代码,这样你就可以遍历一项运动的所有联赛
大家好,我需要帮助来解析具有多个嵌套属性的 XML。 XML 文件的一小部分在这里 http://pastebin.com/bswFcdeX 我需要解析 XML 并将每个节点保存到数据库。我正在使用 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 table 正在正确填充,但 League table 使用所有 Sport 数据填充所有数据,合并,产生不需要的重复,而不是仅在 THAT Sport 节点中填充数据。我认为 current($sport->attributes()->id) 会成功。
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();
}
您会在嵌套循环中迭代错误的条目。试试上面的代码,这样你就可以遍历一项运动的所有联赛