我有这样的数据XML格式。
<"id=1">
<"a">Test<"/a">
<"b">Test2<"/b">
<"c">Test3<"/c">
如何在字段XMLData中获取值C?
*value C is Test3
答案 0 :(得分:1)
如何在字段XMLData中获取值C?
如@Wernfried Domscheit所述,您的xml
看起来不正确。请参阅以下一种方法:
create table traptabclob(testclob clob);
/
insert into traptabclob
values
('<?xml version="1.0" encoding="UTF-8"?>
<DCResponse>
<id>
<Field key="a">Test</Field>
<Field key="b">Test2</Field>
<Field key="c">Test3</Field>
</id>
</DCResponse>');
/
查询:
SELECT
EXTRACTVALUE(xmltype(testclob), '/DCResponse/id/Field[@key="c"]') col1
FROM traptabclob;
输出:
Col1
----
Test3
修改强>
感谢您的回复,我的数据没有标记
<?xml> version="1.0"....
我的数据就像<row> id="1"><a>Test</a><b>Test2</b></row>
一样,它看起来像xml
类型,但我不知道这是{{1是不是类型。谢谢
请注意我刚刚给出了一个有效xml文件的示例,该文件通常包含xml
。但是,xml代码的问题是将标记放在<?xml> version="1.0"....
中。请参阅下面的工作原理:
"
查询:
create table traptabclob(testclob clob);
insert into traptabclob values('
<id>
<a>Test</a>
<b>Test2</b>
<c>Test3</c>
</id>');
输出:
SELECT EXTRACTVALUE(xmltype(testclob), '/id/c') col1
FROM traptabclob ;