预期XML分析器错误开始标记

时间:2012-08-21 17:17:08

标签: php html xml steam

function retrieveProfile() 
{
    $url = "http://steamcommunity.com/profiles/{$this->steamID64}/?xml=1";
    $profileData = simplexml_load_string($url);

    if(!empty($profileData->error)) { return NULL; }

    $this->friendlyName  = (string) $profileData->steamID;  
}
  

警告:simplexml_load_string()[function.simplexml-load-string]:实体:第1行:解析器错误:开始预期标记,'<'找不到

     
    

警告:simplexml_load_string()[function.simplexml-load-string]:http://steamcommunity.com/profiles/76561197991676121/?xml=1

         
      

警告:simplexml_load_string()[function.simplexml-load-string]:^

    
  

这是XML文件:

http://steamcommunity.com/profiles/76561197991676121/?xml=1

我没有想到为什么它不起作用,是的,它有<?xml version="1.0" encoding="UTF-8" standalone="yes"?>标题! 尝试了$profileData = new SimpleXMLElement(file_get_contents($url)),但我得到了相同的结果。

为什么会这样?我该如何解决?我正在寻找3个小时,只看到对我没有帮助的答案 错误:http://img824.imageshack.us/img824/9464/errorszz.png

EDIT1:simplexml_load_string是我的一个错误,但现在我的simplexml_load_file出现了更多错误 - 告诉我该文档是空的......(不是!)

2 个答案:

答案 0 :(得分:6)

您正在加载URL作为XML源。你应该:

$profileData = simplexml_load_file($url);

答案 1 :(得分:1)

Url正在从steamcommunity.com/profiles/76561197991676121/?xml=1更改为http://steamcommunity.com/id/virusbogdan/?xml=1。 显然第一个链接返回null,因此出现错误。问题解决了!