我有以下代码必须从不同服务器的数据库中读取xml数据。
foreach($servers->result() as $server){
$srvr = $server->ip;
$loading_server = "http://".$srvr."/status.xml";
$doc = new DOMDocument();
$status = $doc->load($loading_server);
$power_out = $status->getElementsByTagName( "input0" );
$temperature = $status->getElementsByTagName( "input1" );
$rf_antenna_power = $status->getElementsByTagName( "input2" );
echo "<b>$srvr: $power_out - $temperature - $rf_antenna_power \n</b><br>";
}
每个服务器都在status.xml
文件中有一个状态报告,如下所示:
<response>
<input0>1</input0>
<input1>0</input1>
<input2>0</input2>
<input3>0</input3>
<input4>0</input4>
...
..
<response>
但我得到了轰鸣声错误:
Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\xampp\htdocs\transmitter\application\views\body.php on line 10
我想过使用$dom->loadHTML(file_get_contents($wrss));
来访问xml内容,但我无法得到警告:
DOMDocument::loadHTML(): Tag response invalid in Entity
请帮助我!
答案 0 :(得分:1)
DomDocument :: load仅在非静态调用中返回bool:http://php.net/manual/en/domdocument.load.php
正确使用示例:
if ($status){
$doc->getElementsByTagName( "input0" );
}