我有一個xpath的問題。我想從這個獲取數據:PHP Xpath試圖獲取非對象的屬性
<div class="clan__table">
<div class="clan__headers">
<div class="clan__headerCaption">Rank</div>
<div class="clan__headerCaption">Name</div>
<div class="clan__headerCaption">Level</div>
<div class="clan__headerCaption">League</div>
<div class="clan__headerCaption">Trophies</div>
<div class="clan__headerCaption">Donations</div>
<div class="clan__headerCaption">Role</div>
</div>
<div class="clan__rowContainer">
<div class="clan__row">
#2
</div>
<div class="clan__row">
<a class="ui__blueLink" href='/profile/8C2PQYYL'>Voodoo</a>
</div>
<div class="clan__row">
<span class="clan__playerLevel">11</span>
</div>
<div class="clan__row">
<div class="clan__leagueContainer">
<div class="league__1"></div>
</div>
</div>
<div class="clan__row">
<div class="clan__cup">4000</div>
</div>
<div class="clan__row">96</div>
<div class="clan__row">
Co-Leader
</div>
</div>
....
....
這是我的代碼:
$xpath2 = new DOMXPath($doc2);
$text = "";
$playerlist_ul = $xpath2->query("//div[@class='clan__table']")->item(0);
$playernodes = $playerlist_ul->childNodes;
if (!empty($playernodes))
{
foreach ($playernodes as $node2)
{
if ($node2->hasChildNodes())
{
$playerinfo = new DOMDocument();
libxml_use_internal_errors(true);
$playerinfo->loadHTML($node2->ownerDocument->saveHTML($node2));
$xpath3 = new DOMXPath($playerinfo);
$player['level'] = $xpath3->query("//span[@class='clan__playerLevel']")->item(0)->
textContent;
$player['name'] = $xpath3->query("//a[@class='ui__blueLink']")->item(0)->
textContent;
$player['id'] = $xpath3->query("//a[@class='ui__blueLink']/@href")->item(0)->
textContent;
$player['trophy'] = $xpath3->query("//div[@class='clan__cup']")->item(0)->
textContent;
$player['role'] = $xpath3->query("//div[@class='clan__row']")->item(6)->
textContent;
$player['donate'] = $xpath3->query("//div[@class='clan__row']")->item(5)->
textContent;
$player['clan_position'] = $xpath3->query("//div[@class='clan__row']")->item(0)->
textContent;
$players[] = $player;
}
}
}
幾乎一切工作,但我得到的錯誤:試圖讓非對象的屬性與$每行播放器[「...」] 這是導致
array (size=49)
0 =>
array (size=6)
'level' => null
'name' => null
'trophy' => null
'role' => null
'donate' => null
'clan_position' => null
1 =>
array (size=6)
'level' => string '11' (length=2)
'name' => string '/profile/8C2PQYYL' (length=17)
'trophy' => string '4056' (length=4)
'role' => string '
Co-Leader
' (length=44)
'donate' => string '192' (length=3)
'clan_position' => string '
#1
' (length=52)
也有一些是錯誤的數組[0] 所以我的問題是:如何避免這種錯誤?