如何使用 xPath (10g) 在 Oracle SQL extract() 中获取节点名称
Posted
技术标签:
【中文标题】如何使用 xPath (10g) 在 Oracle SQL extract() 中获取节点名称【英文标题】:how to get node name in Oracle SQL extract() with xPath (10g) 【发布时间】:2012-10-09 11:52:27 【问题描述】:这是一个 XML 文件:
<ROOT>
<A>
<B>2</B>
<C>3</C>
<D>4</D>
</A>
</ROOT>
如何通过xPath获取标签名称“C”。函数 name() 在extract 中不起作用。
它报告错误:
ORA-31011: XML 解析失败 ORA-19202: XML 处理中发生错误 LPX-00601:无效的令牌gXmlDOM
是上面的xml字符串,在SQL中怎么做?
select XMLType(gXmlDOM).extract(p_xmlPath).getStringVal() from dual;
【问题讨论】:
p_xmlPath
列的内容是什么?
就是xpath字符串,比如“/ROOT/A”
【参考方案1】:
这可能就是你要找的……
Select xmltype('<ROOT><A><B>2</B><C>3</C><D>4</D></A></ROOT>')
.extract('ROOT/A/*[2]')
.getrootelement()
From dual;
【讨论】:
以上是关于如何使用 xPath (10g) 在 Oracle SQL extract() 中获取节点名称的主要内容,如果未能解决你的问题,请参考以下文章
如何在 java 中使用 jdbc 为 oracle 10g 执行 log miner PL/SQL 查询
如何将 oracle 11g 用户导出到 10g 和不同的默认表空间
如何重新编译使用 Oracle 10g 的 Wrap 实用程序加密的无效 PLSQL 包?