XML 在 ORACLE 上进行解析(帮助 :/)
XML PARSING ON ORACLE (HELP :/)
我有 xml 个这样的数据;
<NctsYYSResponse xmlns="http://http://www.w3.org/2001/XMLSchema-instance">
<Root>
<Response xmlns="">
<RefID>11084672</RefID>
<Guid>b2231713</Guid>
<Durum>Thank You!</Durum>
</Response>
</Root>
</NctsYYSResponse>
我尝试了这个 sql 代码,但我无法得到结果;
1- SELECT EXTRACTVALUE (XMLType(xml_respond) , '/NctsYYSResponse/Root/Response/Guid') guid from table1
2-SELECT x.GUID,x.STATUS FROM table1,XMLTABLE(
'/NctsYYSResponse/Root/Response'
PASSING XMLTYPE(xml_respond)
COLUMNS
"GUID" VARCHAR2(20) PATH 'Guid',
"STATUS" VARCHAR2(100) PATH 'Durum') x ;
3-select x.GUID from table1, xmltable(
xmlnamespaces ('http://http://www.w3.org/2001/XMLSchema-instance' as "a" ,
default ''), '/NctsYYSResponse/Root/a:Response'
passing XMLType(xml_respond)
columns
"GUID" VARCHAR2(20) path 'Guid'
) x ;
Return 全部为空
如果我将 NctsYYSResponse 的类型 xmlns 更改为 xmlns:xsi ,我可以获得结果。但是我需要在 xmlns 时得到结果。请帮助我:/
您最后一次尝试非常接近;您刚刚将 a
命名空间应用于错误的元素:
select x.guid, x.status
from table1
cross apply xmltable (
xmlnamespaces (
'http://http://www.w3.org/2001/XMLSchema-instance' as "a",
default ''
),
'/a:NctsYYSResponse/a:Root/Response'
passing XMLType(xml_respond)
columns
guid VARCHAR2(20) path 'Guid',
status VARCHAR2(100) PATH 'Durum'
) x;
GUID STATUS
-------------------- ---------------
b2231713 Thank You!
我有 xml 个这样的数据;
<NctsYYSResponse xmlns="http://http://www.w3.org/2001/XMLSchema-instance">
<Root>
<Response xmlns="">
<RefID>11084672</RefID>
<Guid>b2231713</Guid>
<Durum>Thank You!</Durum>
</Response>
</Root>
</NctsYYSResponse>
我尝试了这个 sql 代码,但我无法得到结果;
1- SELECT EXTRACTVALUE (XMLType(xml_respond) , '/NctsYYSResponse/Root/Response/Guid') guid from table1
2-SELECT x.GUID,x.STATUS FROM table1,XMLTABLE(
'/NctsYYSResponse/Root/Response'
PASSING XMLTYPE(xml_respond)
COLUMNS
"GUID" VARCHAR2(20) PATH 'Guid',
"STATUS" VARCHAR2(100) PATH 'Durum') x ;
3-select x.GUID from table1, xmltable(
xmlnamespaces ('http://http://www.w3.org/2001/XMLSchema-instance' as "a" ,
default ''), '/NctsYYSResponse/Root/a:Response'
passing XMLType(xml_respond)
columns
"GUID" VARCHAR2(20) path 'Guid'
) x ;
Return 全部为空
如果我将 NctsYYSResponse 的类型 xmlns 更改为 xmlns:xsi ,我可以获得结果。但是我需要在 xmlns 时得到结果。请帮助我:/
您最后一次尝试非常接近;您刚刚将 a
命名空间应用于错误的元素:
select x.guid, x.status
from table1
cross apply xmltable (
xmlnamespaces (
'http://http://www.w3.org/2001/XMLSchema-instance' as "a",
default ''
),
'/a:NctsYYSResponse/a:Root/Response'
passing XMLType(xml_respond)
columns
guid VARCHAR2(20) path 'Guid',
status VARCHAR2(100) PATH 'Durum'
) x;
GUID STATUS
-------------------- ---------------
b2231713 Thank You!