このエラーの取得
非オブジェクトでメンバー関数 attributes() を呼び出す
SOでこれに対する複数の回答を見つけましたが、どれも私の問題を解決していないようですか?
XML は次のとおりです。
<Routes>
<Route type="source" name="incoming">
</Route>
<Routes>
PHPは次のとおりです。
$doc = new SimpleXMLElement('routingConfig.xml', null, true);
class traverseXML {
function getData() {
global $doc;
$routeCount = count($doc -> xpath("Route")); //this value returns correctly
$routeArr = array();
for ($i = 1; $i <= $routeCount; $i++) {
$name = $doc -> Route[$i] -> attributes() -> name;
array_push($routeArr, $name);
}
return $routeArr;
}
}
$traverseXML = new traverseXML;
var_dump($traverseXML -> getData());
エラーの意味はわかりましたが、オブジェクトではないのはなぜですか? name
の属性を返すにはどうすればよいRoutes/Route[1]
ですか?