我想測試一個PL/SQL過程,它需要一個XML CLOB作爲一個參數PL/SQL - XML CLOB錯誤
PROCEDURE example_proc(ex_xml CLOB) IS
BEGIN
/* Find the second < (skip over declaration) */
ln_position := instr(pc_shipment_xml, '<', 1, 2);
/* Find the space after the first tag */
ln_position := instr(pc_shipment_xml, ' ', ln_position, 1);
/* Set the first part of the XML clob */
lc_shipment_xml := substr(pc_shipment_xml, 1, ln_position - 1);
/* Skip the namespace */
ln_position := instr(pc_shipment_xml, '>', ln_position, 1);
lc_shipment_xml := lc_shipment_xml || substr(pc_shipment_xml, ln_position);
/* Set the XML type */
lx_shipment_xml := xmltype(lc_shipment_xml); --RIGHT HERE IS WHERE IT ERRORS OUT
這裏是我在想過去(因爲ex_xml CLOB的XML
ORA-19202: Error occurred in XML processing
LPX-002255: end-element tag "ShipmentLines" does not match start-element tag "Shipment"
請原諒我的無知,但這是我第一次寬:參數):在與最後一行
xml :=
'<Shipment>
<OrderNumber>00000</OrderNumber>
<ShipmentLines>
<ShipmentLine>
<OrderDetailId>000000</OrderDetailId>
<LineNumber>0</LineNumber>
<ItemId>00000</ItemId>
<UnitId>0000000</UnitId>
<BaseUom>X</BaseUom>
<Quantity1>000</Quantity1>
</ShipmentLine>
</ShipmentLines>
</Shipment>';
,並出現了錯誤用PL/SQ處理XML,我是否缺少格式化的東西?據我所見,我正確打開和關閉我的標籤。任何輸入都是值得讚賞的。
你真的嘗試用'instr','substr'等修改XML文檔嗎?看看[XML函數](https://docs.oracle.com/database/121/SQLRF/functions002.htm#SQLRF51185) –