SimpleXMLElement cannot be found when working with namespaces
19,613
The fix was that I needed to add a forward slash () in front of SimpleXmlElement:
$xml = new \SimpleXMLElement($this->create_gk_xml(), 0, true);
As outlined here.
Author by
Wipqozn
I enjoy a variety things, including coding and gaming (video and otherwise).
Updated on June 18, 2022Comments
-
Wipqozn almost 2 years
I'm trying to create a Widget in Wordpress, and I'm running into an issue creating a SimpleXMLElement object.
Here is the code:
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'); } }
Here is the error:
PHP Fatal error: Class 'GenieKnows_Search\SimpleXMLElement' not found in /var/www/myticketpick.com/wp-content/plugins/genieknows-search/genieknows_search.php on line 114
It would appear that it's trying to look for the SimpleXML class inside of my GenieKnows_Search namespace, however I'm at a loss as to why.
Any ideas on why this error is occurring, and how I can fix it?
-
hienbt88 almost 9 yearsThis does not work for me. I'm using PHP 5.6, libxml, SimpleXML enabled.