如何使用xPath(10g)在Oracle SQL extract()中获取节点名称

Fra*_*ank 3 sql oracle xpath nodename xmltype

这是一个XML文件:

<ROOT>
<A>
    <B>2</B>
    <C>3</C>
    <D>4</D>
</A> 
</ROOT>
Run Code Online (Sandbox Code Playgroud)

如何通过xPath 获取标记名称"C".函数名称()在提取中不起作用.

它报告错误:

ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00601: Invalid token

gXmlDOM 是上面的xml字符串,如何在SQL中执行此操作?

select XMLType(gXmlDOM).extract(p_xmlPath).getStringVal() from dual;
Run Code Online (Sandbox Code Playgroud)

mlv*_*vnd 7

这可能就是你要找的......

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