我需要一些帮助,我在这里找到了很多关于如何从对象访问值的答案。 但没有办法在可用的对象中实现xml,因为当我尝试使用这个xml中的simplexml_load_string()函数时:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header />
<soapenv:Body>
<e:EnviarLoteRpsEnvio xmlns:e="http://www.betha.com.br/e-nota-contribuinte-ws">
... SOME IMPORTANT XML ...
</e:EnviarLoteRpsEnvio>
</soapenv:Body>
</soapenv:Envelope>
这会丢失一些包含名称空间并显示不完整结果的数据:
object(SimpleXMLElement)#1 (2) { ["Header"]=> object(SimpleXMLElement)#2 (0) { } ["Body"]=> object(SimpleXMLElement)#3 (0) { WOULD SHOW A LOT OF IMORTANT XML HERE, BUT DONT. } }
我知道要获取这些值,我们需要指定命名空间并使用xpath,如:
$obj_xml_lote->registerXPathNamespace('e','http://www.betha.com.br/e-nota-contribuinte-ws');
好吧,但是要访问,我需要一个完整的对象来发送到网络服务。