解析xml

SELECT * FROM XMLTABLE('$B/ROW' PASSING
 XMLTYPE('<ROW>
 <TP_ID>112</TP_ID>
 <TP_NAME>ORACLE</TP_NAME>
 <TP_PARENTID>0</TP_PARENTID>
 <TP_SNAME>R</TP_SNAME>
</ROW>') AS B
 COLUMNS
 TP_ID NUMBER     PATH '/ROW/TP_ID',
 TP_NAME VARCHAR2(50) PATH '/ROW/TP_NAME',
 TP_PARENTID NUMBER  PATH '/ROW/TP_PARENTID',
 TP_SNAME VARCHAR2(50) PATH '/ROW/TP_SNAME');

SELECT EXTRACTVALUE(VALUE(t),'/USER_DEAL_INFO/USER_DEAL_ID')  g   
           ,EXTRACTVALUE(VALUE(t),'/USER_DEAL_INFO/DEAL_INURE_TIME')  o   
           ,EXTRACTVALUE(VALUE(t),'/USER_DEAL_INFO/DEAL_EXPIRE_TIME')   p  
           ,EXTRACTVALUE(VALUE(t),'/USER_DEAL_INFO/DEAL_CREATE_TIME') l
        
    FROM TABLE(XMLSEQUENCE(EXTRACT(
    XMLTYPE('
    <DEAL_BASIC>
 <USER_DEAL_INFO>
 <USER_DEAL_ID>1000100001</USER_DEAL_ID>
 <DEAL_INURE_TIME>20081130</DEAL_INURE_TIME>
 <DEAL_EXPIRE_TIME>30000101</DEAL_EXPIRE_TIME>
 <DEAL_CREATE_TIME>20081130</DEAL_CREATE_TIME>
 </USER_DEAL_INFO>
</DEAL_BASIC>'), '/DEAL_BASIC/USER_DEAL_INFO'))) t;    -- 提取XML节点值
 

创建时间:2022-04-02 15:08
浏览量:0