读书人

oracle怎么按指定节点名称解析xml(

发布时间: 2013-06-25 23:45:42 作者: rapoo

oracle如何按指定节点名称解析xml,(高分求解,在线等候)
目前找的oracle解析xml的资料都是类似这样的:

定义省略.......
.
.
.
.

--遍历所有unit元素

FOR i in 0..lenUnit-1

LOOP

--获取第i个unit

tempNode_unit := xmldom.item( unitNodes, i );

itemNodes:=xmldom.getChildNodes(tempNode_unit);

lenItem := xmldom.getLength( itemNodes );

FOR j in 0..lenItem-1

LOOP

tempNode := xmldom.item( itemNodes, j );

--获取子元素的值

chilNodes := xmldom.getChildNodes(tempNode);

tmp := xmldom.GETLENGTH( chilNodes );

l_name := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 0 )));

l_value := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 1 )));

DBMS_output.PUT_LINE(i||j,name,value);

end loop;

END LOOP;

标红的两句就是最终解析出来的节点值,但是这是按照几点的位置来解析的,取子节点的第几个,第几个,假设子节点的个数不确定,各个值的位置不确定,这样按位置解析出来的值就不明确到底哪个是哪个了,我想要按照节点名称来解析,不知道能如何实现?假设我有一个节点名称叫 'Stand',有没有类似这样的方法:

l_name := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 'Stand' )));



小弟这里拜谢了!!!!
我的qq:527276920 CSDN 没人气,,可以去ITPUB

读书人网 >oracle

热点推荐