Я не могу понять, почему это ошибка. Все имеет смысл для меня. $logFile
- это SimpleXMLElement
, поэтому они должны иметь возможность использовать метод getName ().
Ошибка:
Фатальная ошибка: вызов функции-члена getName () для необъекта в C: \ xampp \ htdocs \ objLogParser.php в строке 29
Я отметил ошибку в своем коде.
<?php
class objLogParser
{
private $fileName;
private $logFile;
//Constructor
public function __construct($varFileName)
{
$this->fileName = $varFileName;
//Load as string
$xmlstr = file_get_contents($varFileName);
$logFile = new SimpleXMLElement($xmlstr);
//Load as file
$logFile = new SimpleXMLElement($varFileName,null,true);
}
public function printNodes()
{
$this->printHelper($this->logFile,0);
}
public function printHelper($currentNode, $offset)
{
echo $this->offset($offset);
echo $currentNode->getName(); ////////////////////LINE 29 ERROR
if($currentNode->attributes()->count() > 0)
echo "({$currentNode->attributes()})";
echo " {$currentNode}";
foreach ($currentNode->children() as $child) {
echo "<br>";
printHelper($child, ($offset+1));
}
}
function offset($offset)
{
for ($i = 0; $i < $offset; $i++)
echo "_ ";
}
}
?>