Bir XML besleme ayrıştırmak SimpleXML ile bir PHP komut dosyası kullanıyorum. Ben XML içeriği üzerinde hiçbir kontrole sahip.
try { $xml = @new SimpleXMLElement($fetchResult); } catch (Exception $e) { errorHandle($e->getMessage());}
$userNick = $xml->View->ScrollView->VBoxView->View->MatrixView->VBoxView[0]->HBoxView->TextView->SetFontStyle->b;
foreach ($xml->View->ScrollView->VBoxView->View->MatrixView->VBoxView[0]->VBoxView as $pathToSubTree){
foreach ($pathToSubTree->MatrixView->View->VBoxView->VBoxView->HBoxView[0]->VBoxView->MatrixView->VBoxView as $canopy){
//Do some stuff now that we've found the canopy of the tree
}
$canopy = $pathToSubTree->MatrixView->View->VBoxView->VBoxView->HBoxView[0]->VBoxView->MatrixView->VBoxView;
if(is_null($canopy)){
//Do some stuff stuff is the canopy was not traceable
}
}
$pathToSubTree = $xml->View->ScrollView->VBoxView->View->MatrixView->VBoxView[0]->VBoxView;
if(is_null($pathToSubTree)){
//Do some stuff stuff is the subTree path was not traceable
}
unset($xml);
Ben eminim aynı nedene bağlı olan kulüpler iki hataları çok alıyorum:
PHP Notice: Trying to get property of non-object in myScript.php on line 45
PHP Warning: Invalid argument supplied for foreach() in myScript.php on line 45
PHP Notice: Trying to get property of non-object in myScript.php on line 76
Hat 45 (yukarıdan) olduğu:
foreach ($pathToSubTree->MatrixView->View->VBoxView->VBoxView->HBoxView[0]->VBoxView->MatrixView->VBoxView as $canopy){
Hat 76 (yukarıdan) olduğu:
$canopy = $pathToSubTree->MatrixView->View->VBoxView->VBoxView->HBoxView[0]->VBoxView->MatrixView->VBoxView;
Ben bu hata benim yolum belli XML için bir dizi olmaktan değil dizilerin biri neden olduğu eminim, ama bazı zamanlar bir dizi olabilir.
Bunlarla başa çıkmak için doğru yolu nedir?