1

私はこのエラーがあります:

Error Trying to get property of non-object

コードは次のとおりです。

 $dom->preserveWhiteSpace = false; 

    $tables = $dom->getElementsByTagName('table'); 

    $rows = $tables->item(0)->getElementsByTagName('tr'); 

   $i=0; 
   foreach ($rows as $row) 
    { 
        /*** get each column by tag name ***/ 
        $cols = $row->getElementsByTagName('td'); 

        $this->data['Table'][$i] = array(
                           'Attrb1' => $cols->item(0)->nodeValue,
                           'Attrib2' => $cols->item(1)->nodeValue

                                  );
     $i++;

    } 
         }

        return $this->toArray();
    }

このエラーがある行は次のとおりです。

'Attrib2' => $cols->item(1)->nodeValue

HTMLコードは次のとおりです。

<table border=1 align="center" cellpadding=5 width="95%">
                                            <!doctype html public "-//w3c//dtd html 4.0//EN">
<html it>
<head>
<meta name="Generator" content="OLS">
</head>
<body>
<td colspan=2 align="center">
<b>
<i>
Attrib1
</i>
</b>
</td>
<td>
<b>
<i>
Attrib2
</i>
</b>
</td>
<td>
<b>
<i>
<tr>
<td>
A000211
</td>
<td nowrap>
Statistic
</td>
</tr>

しかし、問題が foreach にあるのか、それとも私が作成したすべての取得データが 1 つの大きなエラーなのか、間違った方法で html を処理しているのかはわかりません..だから助けてください..

4

1 に答える 1