donqo88682 2013-01-22 18:43
浏览 49
已采纳

通过在PHP中调用URL进行远程XML解析

I'm trying to parse xml data by calling url via file_get_contents() in php. The result is:

<?xml version="1.0" encoding="UTF-8" ?>
<RESPONSE>
<SINGLE>
<KEY name="sitename"><VALUE>RedCross Test</VALUE>
</KEY>
<KEY name="username"><VALUE>test1</VALUE>
</KEY>
<KEY name="firstname"><VALUE>Test1</VALUE>
</KEY>
<KEY name="lastname"><VALUE>testTest1</VALUE>
</KEY>
</SINGLE>
</RESPONSE>

Here is the procedure:

<?php

header('Content-type: text/html; charset=utf-8');

$xml_obj = file_get_contents("http://localhost/example/webservice/rest/server.php?wstoken=".$token."&function=get_info");

$data = $xml_obj->SINGLE->KEY[2]->VALUE;
echo $data;

?>

The response is: error on line 2 at column 1: Notice: Trying to get property of non-object on line 7. Could someone advise me?

  • 写回答

3条回答 默认 最新

  • douzi4724 2013-01-22 18:47
    关注

    The error is stating that $xml_obj is not an object. That's because it's not. It's simply a var storing the contents (as a string) of the response from file_get_contents.

    Instead of:

    $xml_obj = file_get_contents("http://localhost/example/webservice/rest/server.php?wstoken=".$token."&function=get_info");
    

    Try:

    $xml_obj = simplexml_load_file("http://localhost/example/webservice/rest/server.php?wstoken=".$token."&function=get_info");
    

    Or, if you need to use the contents for other stuff and want it in a separate variable:

    $contents = file_get_contents("http://localhost/example/webservice/rest/server.php?wstoken=".$token."&function=get_info");
    
    $xml = new DOMDocument();
    $xml->loadXML( $contents );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)