I'm fixing a module from another company and I can't explain why an xPath from a XML gives me an empty result.
Here is the XML:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:HNS="http://tempuri.org/" xmlns:v1="http://tempuri.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
<ROClientIDHeader xmlns="urn:DinaPaq" SOAP-ENV:mustUnderstand="0">
<ID>{A55CF2CD-C7B8-439C-AA9E-C7970C1E8945}</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="http://tempuri.org/">
<v1:WebServService___GrabaEnvio4Response>
<v1:strAlbaranOut>9998882267</v1:strAlbaranOut>
<v1:dPesoVolOriOut>0</v1:dPesoVolOriOut>
<v1:dPesoVolpesOut>1</v1:dPesoVolpesOut>
<v1:dAltoVolpesOut>0</v1:dAltoVolpesOut>
<v1:dAnchoVolpesOut>0</v1:dAnchoVolpesOut>
<v1:dLargoVolpesOut>0</v1:dLargoVolpesOut>
<v1:dPesoVolVolpesOut>0</v1:dPesoVolVolpesOut>
<v1:dtFecEntrOut>2015-08-11T00:00:00</v1:dtFecEntrOut>
<v1:strTipoEnvOut>N</v1:strTipoEnvOut>
<v1:dtFecHoraAltaOut>2015-08-08T16:41:29</v1:dtFecHoraAltaOut>
<v1:dKmsManOut>0</v1:dKmsManOut>
<v1:boTecleDesOut>false</v1:boTecleDesOut>
<v1:strCodAgeDesOut>029006</v1:strCodAgeDesOut>
<v1:strCodProDesOut />
<v1:dPorteDebOut>0</v1:dPorteDebOut>
<v1:strCodRepOut />
<v1:strGuidOut>{99873302-6499-44B2-9F72-C64AC3430755}</v1:strGuidOut>
<v1:strCodSalRutaOut>1</v1:strCodSalRutaOut>
</v1:WebServService___GrabaEnvio4Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
And Here is the code:
$xml = simplexml_load_string($postResult, NULL, NULL, "http://www.w3.org/2003/05/soap-envelope");
$xml->registerXPathNamespace("abc","http://tempuri.org/");
foreach ($xml->xpath('//abc:strAlbaranOut') as $item)
{
$tipsa_num_albaran=$item;
}
foreach ($xml->xpath('//abc:strGuidOut') as $item)
{
$tipsa_num_seguimiento=$item;
}
What I've seen is that $tipsa_num_albaran has the correct value but $tipsa_num_seguimiento is empty. Both values are at the same depth and in the same branch of the XML so I can't understand why my second value is empty.
Thanks