<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<ShipmentTrackingResponse xmlns="http://ws.aramex.net/ShippingAPI/v1/">
<Transaction xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Reference1>001</Reference1>
<Reference2 i:nil="true"/>
<Reference3 i:nil="true"/>
<Reference4 i:nil="true"/>
<Reference5 i:nil="true"/>
</Transaction>
<Notifications xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>
<HasErrors>false</HasErrors>
<TrackingResults xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>
<NonExistingWaybills xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:string>XXXXXXXXXX</a:string>
</NonExistingWaybills>
</ShipmentTrackingResponse>
</s:Body>
Извлечение значений из XML в Oracle PL/SQL
Я использовал следующие запросы для извлечения значений, но как я извлечь NonExistingWaybills
?
SELECT EXTRACTVALUE(l_resp_xml,
'//ShipmentTrackingResponse/Transaction/Reference1',
'xmlns="http://ws.aramex.net/ShippingAPI/v1/"')
INTO l_response_result
FROM dual;
DBMS_OUTPUT.put_line ('Result> Reference1=' || l_response_result);
SELECT EXTRACTVALUE(l_resp_xml,
'//ShipmentTrackingResponse/TrackingResults',
'xmlns="http://ws.aramex.net/ShippingAPI/v1/"')
INTO l_response_result
FROM dual;
DBMS_OUTPUT.put_line ('Result> TrackingResults=' || l_response_result);
SELECT EXTRACTVALUE(l_resp_xml,
'//ShipmentTrackingResponse/NonExistingWaybills',
'xmlns="http://ws.aramex.net/ShippingAPI/v1/"')
INTO l_response_result
FROM dual;
DBMS_OUTPUT.put_line ('Result> NonExistingWaybills=' || l_response_result);
Последний запрос не дает никакого результата ...
Я попробовал это, и он возвращается значение XXXX ВЫБРАТЬ EXTRACTVALUE (XData, '// ShipmentTrackingResponse/NonExistingWaybills/*', « XMLNS =" HTTP: // ws.aramex.net/ShippingAPI/v1/ "') от x – OldProgrammer
Да спасибо большое .. Я решил его увидеть ниже – Novice