使用命名空间时无法找到SimpleXMLElement

Wip*_*ozn 15 php wordpress namespaces class simplexml

我正在尝试在Wordpress中创建一个Widget,我遇到了一个创建SimpleXMLElement对象的问题.

这是代码:

namespace GenieKnows_Search;  

class GenieKnows_Search_Widget extends \WP_Widget {
     //Constructor
     function __construct() {
         parent::__construct('genieknows_search_widget', 'GenieKnows_Search_Widget');
     }

     //Irrelevant Code. Removed for readability. 

    //Return the XML
    function retrieve_gk_xml() {
          $xml = new SimpleXMLElement($this->create_gk_xml(), 0, true); //Line 114
          return $xml->xpath('/feed/results/sponsored/listing');
    }
}
Run Code Online (Sandbox Code Playgroud)

这是错误:

PHP致命错误:第114行/var/www/myticketpick.com/wp-content/plugins/genieknows-search/genieknows_search.php中找不到类'GenieKnows_Search\SimpleXMLElement'

它似乎正试图在我的GenieKnows_Search命名空间内寻找SimpleXML类,但是我不知道为什么.

有关此错误发生原因的任何想法,以及我如何解决它?

Wip*_*ozn 40

修复是我需要在SimpleXmlElement前面添加一个正斜杠():

 $xml = new \SimpleXMLElement($this->create_gk_xml(), 0, true);
Run Code Online (Sandbox Code Playgroud)

如此处所述.

  • 这对我不起作用.我正在使用PHP 5.6,libxml,SimpleXML. (3认同)