Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WSDL文件上DOMDocument中的XPath_Php_Xpath_Wsdl_Domdocument - Fatal编程技术网

Php WSDL文件上DOMDocument中的XPath

Php WSDL文件上DOMDocument中的XPath,php,xpath,wsdl,domdocument,Php,Xpath,Wsdl,Domdocument,我在对XPath进行查询时遇到一些问题。我尝试加载WSDL文件,并使用XPath获取一些节点 $DOMDocument = new DOMDocument(); $DOMDocument->loadXML($wsdl); $DOMXpath = new DOMXPath($DOMDocument); $elements = $DOMXpath->query('//definitions//binding'); var_dump($elements); 结果是: class DOMN

我在对XPath进行查询时遇到一些问题。我尝试加载WSDL文件,并使用XPath获取一些节点

$DOMDocument = new DOMDocument();
$DOMDocument->loadXML($wsdl);
$DOMXpath = new DOMXPath($DOMDocument);
$elements = $DOMXpath->query('//definitions//binding');
var_dump($elements);
结果是:

class DOMNodeList#15 (1) {
  public $length =>
  int(0)
}
以下是WSDL文件:


如何进行正确的XPath查询以遍历节点。

您的XML具有默认名称空间(
xmlns=”http://schemas.xmlsoap.org/wsdl/“
)。在这种情况下,您需要注册一个指向该默认命名空间URI的前缀,然后在XPath查询中使用该前缀:

.......
$DOMXpath->registerNamespace('d', "http://schemas.xmlsoap.org/wsdl/");
$elements = $DOMXpath->query('//d:definitions//d:binding');
.......