Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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 SOAP XML响应转换为DOM文档loadxml()-不工作,为空_Php_Xml_Dom_Soap_Load - Fatal编程技术网

PHP SOAP XML响应转换为DOM文档loadxml()-不工作,为空

PHP SOAP XML响应转换为DOM文档loadxml()-不工作,为空,php,xml,dom,soap,load,Php,Xml,Dom,Soap,Load,我有一个SOAP响应,我想将其转换为DOM文档。我正在使用loadxml,但它返回一个空对象 <?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:getResponse xmlns:ns2="http://api.sponsoredlistings.ask.com/api/v5/

我有一个SOAP响应,我想将其转换为DOM文档。我正在使用loadxml,但它返回一个空对象

<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:getResponse xmlns:ns2="http://api.sponsoredlistings.ask.com/api/v5/"><rval xmlns="http://api.sponsoredlistings.ask.com/api/v5/"><ns2:totalNumEntries>6</ns2:totalNumEntries><ns2:entries><ns2:id>3000063</ns2:id><ns2:name>QA_Team_1</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Inactive</ns2:servingStatus><ns2:startDate>20100730</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>MONTHLY</ns2:period><ns2:amount><ns2:amount>3333.3333</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats><ns2:statusReason>FutureDT</ns2:statusReason></ns2:entries><ns2:entries><ns2:id>3000064</ns2:id><ns2:name>Sample Campaign for Itay</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Inactive</ns2:servingStatus><ns2:startDate>20100730</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>MONTHLY</ns2:period><ns2:amount><ns2:amount>3333.3333</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats><ns2:statusReason>FutureDT</ns2:statusReason></ns2:entries><ns2:entries><ns2:id>3000065</ns2:id><ns2:name>Sample Campaign API Report Testing 1</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Inactive</ns2:servingStatus><ns2:startDate>20100802</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>MONTHLY</ns2:period><ns2:amount><ns2:amount>3333.3333</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats><ns2:statusReason>FutureDT</ns2:statusReason></ns2:entries><ns2:entries><ns2:id>3000066</ns2:id><ns2:name>CampaignSridRevewSB</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Active</ns2:servingStatus><ns2:startDate>20100810</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>DAILY</ns2:period><ns2:amount><ns2:amount>10000.0</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats></ns2:entries><ns2:entries><ns2:id>3000067</ns2:id><ns2:name>Campaign #3000067</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Active</ns2:servingStatus><ns2:startDate>20100811</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>DAILY</ns2:period><ns2:amount><ns2:amount>10000.0</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats></ns2:entries><ns2:entries><ns2:id>3000068</ns2:id><ns2:name>Campaign #3000068</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Active</ns2:servingStatus><ns2:startDate>20100811</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>DAILY</ns2:period><ns2:amount><ns2:amount>10000.0</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats></ns2:entries></rval></ns2:getResponse></S:Body></S:Envelope>  

原因可能是什么?

什么告诉你它是空的?如果出现错误,则DOMDocument::loadxml将返回false,而不是空对象

<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:getResponse xmlns:ns2="http://api.sponsoredlistings.ask.com/api/v5/"><rval xmlns="http://api.sponsoredlistings.ask.com/api/v5/"><ns2:totalNumEntries>6</ns2:totalNumEntries><ns2:entries><ns2:id>3000063</ns2:id><ns2:name>QA_Team_1</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Inactive</ns2:servingStatus><ns2:startDate>20100730</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>MONTHLY</ns2:period><ns2:amount><ns2:amount>3333.3333</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats><ns2:statusReason>FutureDT</ns2:statusReason></ns2:entries><ns2:entries><ns2:id>3000064</ns2:id><ns2:name>Sample Campaign for Itay</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Inactive</ns2:servingStatus><ns2:startDate>20100730</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>MONTHLY</ns2:period><ns2:amount><ns2:amount>3333.3333</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats><ns2:statusReason>FutureDT</ns2:statusReason></ns2:entries><ns2:entries><ns2:id>3000065</ns2:id><ns2:name>Sample Campaign API Report Testing 1</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Inactive</ns2:servingStatus><ns2:startDate>20100802</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>MONTHLY</ns2:period><ns2:amount><ns2:amount>3333.3333</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats><ns2:statusReason>FutureDT</ns2:statusReason></ns2:entries><ns2:entries><ns2:id>3000066</ns2:id><ns2:name>CampaignSridRevewSB</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Active</ns2:servingStatus><ns2:startDate>20100810</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>DAILY</ns2:period><ns2:amount><ns2:amount>10000.0</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats></ns2:entries><ns2:entries><ns2:id>3000067</ns2:id><ns2:name>Campaign #3000067</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Active</ns2:servingStatus><ns2:startDate>20100811</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>DAILY</ns2:period><ns2:amount><ns2:amount>10000.0</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats></ns2:entries><ns2:entries><ns2:id>3000068</ns2:id><ns2:name>Campaign #3000068</ns2:name><ns2:status>ACTIVE</ns2:status><ns2:servingStatus>Active</ns2:servingStatus><ns2:startDate>20100811</ns2:startDate><ns2:endDate>20991231</ns2:endDate><ns2:budget><ns2:period>DAILY</ns2:period><ns2:amount><ns2:amount>10000.0</ns2:amount></ns2:amount><ns2:deliveryMethod>STANDARD</ns2:deliveryMethod></ns2:budget><ns2:biddingStrategy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ManualCPC"/><ns2:adServingOptimizationStatus>OPTIMIZE</ns2:adServingOptimizationStatus><ns2:stats><ns2:network>ALL</ns2:network><ns2:statsType>Stats</ns2:statsType></ns2:stats></ns2:entries></rval></ns2:getResponse></S:Body></S:Envelope>  
无论如何,当我运行此代码时,$doc是您发布的一行一英里长的xml:

$dom = new DOMDocument();
$dom->loadXML($doc);
$node_list = $dom->getElementsByTagName('totalNumEntries');
$node = $node_list->item(0);
echo $node->nodeValue;

正如预期的那样,输出为6。

感谢您的提示,我使用了一个var_转储来打印内容:这个var_转储的结果是:objectDOMDocument17 0{}Sry,因为我没有及时回答,但我无意中发现了这个问题。这是DOM对象的默认输出,即使对象包含内容。这是因为,内容对php脚本端是隐藏的。您必须使用objects方法来获取正确的状态信息。