我试图像这样使用simplexml_load_string:
$xml = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<data_GetResult xmlns="http://api.source.com/">
<data_GetData>
<value>123456</value>
<value>789000</value>
</data_GetData>
</data_GetResult>
</soap:Body>
</soap:Envelope>';
$results = simplexml_load_string($xml);
print_r($results);
但是,没有返回任何结果,它只显示:
SimpleXMLElement Object
(
)
我相信xml是正确的,我在在线验证器中进行了测试。谢谢。
答案 0 :(得分:1)
试试这个(根据手册)
<?php
$string = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<soap_Envelope xmlns_xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns_xsd="http://www.w3.org/2001/XMLSchema" xmlns_soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap_Body>
<data_GetResult xmlns="http://api.source.com/">
<data_GetData>
<value>123456</value>
<value>789000</value>
</data_GetData>
</data_GetResult>
</soap_Body>
</soap_Envelope>
XML;
$xml = simplexml_load_string($string);
print_r($xml);
?>
似乎你名字中的:
(它们似乎很奇怪,它们似乎是计划的一部分)导致问题,例如
</soap:Body>
</soap:Envelope>