【问题标题】:how to get node name in Oracle SQL extract() with xPath (10g)如何使用 xPath (10g) 在 Oracle SQL extract() 中获取节点名称
【发布时间】: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”

标签: sql oracle xpath xmltype nodename


【解决方案1】:

这可能就是你要找的……

Select xmltype('<ROOT><A><B>2</B><C>3</C><D>4</D></A></ROOT>')
       .extract('ROOT/A/*[2]')
       .getrootelement()
  From dual;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-29
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多