Php 在Wordpress中使用getElementsByTagName

Php 在Wordpress中使用getElementsByTagName,php,wordpress,xml-parsing,Php,Wordpress,Xml Parsing,我有一个非常简单的脚本可以从XML文件中读取: <?php $xml_data=wp_remote_get("http://example.com/connectioncounts"); //$doc = new DOMDocument(); //$doc->load($xml_data); $wms = $xml_data->getElementsByTagName('Tag'); $currentlistener = $wms->ite

我有一个非常简单的脚本可以从XML文件中读取:

<?php 

$xml_data=wp_remote_get("http://example.com/connectioncounts"); 

  //$doc = new DOMDocument(); 
  //$doc->load($xml_data); 

  $wms = $xml_data->getElementsByTagName('Tag'); 
  $currentlistener = $wms->item(0)->getElementsByTagName("ConnectionsCurrent")->item(0)->nodeValue; 
  $listenerhits = $wms->item(0)->getElementsByTagName("ConnectionsTotal")->item(0)->nodeValue; 

  echo "Current listener: $currentlistener<br> Total hits: $listenerhits"; 

?>

我认为,与Wordpress不喜欢
文件获取内容的方式类似,可能有一些函数用于
getElementsByTagName

,因为该函数不返回xml对象,也没有类似的函数,所以该函数返回
(WP\u Error | array)
wp\u remote\u get
正在返回一个
wp\u错误
对象。调用
$xml\u data->get\u error\u message()
获取错误消息。此外,您没有理由不能在WordPress中使用
file\u get\u contents
。我猜您之所以对它有问题,是因为php.ini
var\u dump($xml\u data)
中禁用了
allow\u url\u fopen
指令。您将看到它不是一个dom对象,因此它不会有一个gEBTN()方法…好的,所以尝试修复这个。。。当我将其切换到
文件时,获取内容
并尝试像这样加载DOMDocument:
$doc=newDOMDocument()$文档->加载($xml\u数据)
我收到一个新错误:
警告:DOMDocument::load():作为输入提供的空字符串
致命错误:对非对象调用成员函数getElementsByTagName()
DOMDocument::load()
需要指向xml文件的路径,而不是xml文件的原始内容。使用
DOMDocument::loadXML
加载xml字符串。此外,从错误消息来看,提取文件内容似乎不起作用。您应该转储
file\u get\u contents
(或
wp\u remote\u get
)的结果,以确保在尝试加载之前拥有有效的xml文档。
Fatal error: Call to undefined method WP_Error::getElementsByTagName() in /home/user/public_html/test/wp-content/themes/headway/library/common/functions.php(405) : eval()'d code on line 10