【发布时间】:2015-04-01 09:22:22
【问题描述】:
我有一个 xml_data 我正在传递给程序-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:a xmlns:ns2="http://www.sbc.com/iag/schemas/adapters" xmlns="http://www.sbc.com/iag/schemas/core">
<ns2:b>
<ns2:OrderNumber>99995</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b>
<ns2:b>
<ns2:OrderNumber>99699</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b>
<ns2:b>
<ns2:OrderNumber>69999</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b
<ns2:b>
<ns2:OrderNumber>67999</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b>
</ns2:a>
节点
ns2:b
可以重复任意次数并且不是固定的。 我如何获取这个
ns2:订单号
从 oracle 程序中的这个 xml 数据。如果
ns2:b(ns2:OrderNumber)
通过下面的代码只发生一次-
select extractValue(
xml_data,
xmlns="http://www.sbc.com/iag/schemas/core"'
) '/ns2:a/ns2:b/ns2:OrderNumber/text()',
'xmlns:ns2="http://www.sbc.com/iag/schemas/adapters",
into order_number from dual;
dbms_output.put_line('FailedRetry -' ||order_number);
但是我如何继续迭代直到我得到那个节点的所有值
在 XML 中。我尝试了在此站点上发布的不同解决方案,但没有一个有效。
【问题讨论】:
标签: xml oracle plsql xml-parsing procedure