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
------解决方案--------------------百度
http://www.cnblogs.com/Liunsh/archive/2012/02/24/ORACLE_XML_.html
------解决方案--------------------CSDN 没人气,,可以去ITPUB