xpath を使用して xml に「「FT」という名前の結果アイテムを照会していますが、ライブ フィードであるため、そうでない結果アイテムがあることはわかっています。これらの「非オブジェクト」に値を割り当てることはできますか? mysqlにそれらを入力するだけでなく、返された値を入力できますか?
結果アイテムを含む私のxmlの一部は次のとおりです。
<live>
<Match ct="0" id="771597" LastPeriod="2 HF" LeagueCode="19984" LeagueSort="1" LeagueType="LEAGUE" startTime="15:00" status="2 HF" statustype="live" type="2" visible="1">
<Home id="11676" name="Manchester City" standing="1"/>
<Away id="10826" name="Newcastle United" standing="3"/>
<Results>
<Result id="1" name="CURRENT" value="1-1"/>
<Result id="2" name="FT" value="1-1"/>
<Result id="3" name="HT" value="1-0"/>
</Results>
</Match>
<Match ct="0" id="771599" LastPeriod="1 HF" LeagueCode="19984" LeagueSort="1" LeagueType="LEAGUE" startTime="16:00" status="2 HF" statustype="live" type="2" visible="1">
<Home id="11678" name="Norwich City" standing="1"/>
<Away id="10828" name="West Ham United" standing="3"/>
<Results>
<Result id="1" name="Current" value="2-3"/>
<Result id="2" name="HT" value="1-3"/>
</Results>
</Match>
</live>
このビットのphpで「FT」という名前のすべてのスコアを取得しようとしています:
$result = $xpath->query('./Results/Result[@name="FT"]', $match);
$halftimescore = $result->item(0)->getAttribute("value");
上記も変更しました:
$result = $xpath->query('./Results/Result[@name="FT"]', $match);
if($result->length > 0) {
$halftimescore = $result->item(0)->getAttribute("value");
}
エラーは削除されますが、FT値は1-1、3-0になり、オブジェクト以外の場合は3-0が繰り返されます