Имам XML формат на данни като този.
<"id=1">
<"a">Test<"/a">
<"b">Test2<"/b">
<"c">Test3<"/c">
Как да получа стойност C в поле XMLData?
*value C is Test3
Имам XML формат на данни като този.
<"id=1">
<"a">Test<"/a">
<"b">Test2<"/b">
<"c">Test3<"/c">
Как да получа стойност C в поле XMLData?
*value C is Test3
Как да получа стойност C в поле XMLData?
Както спомена @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
, но не знам това е типxml
или не. Благодаря ти
Моля, вижте, че току-що дадох пример за валиден xml файл, който обикновено съдържа <?xml> version="1.0"....
. Проблемът с вашия xml код обаче е поставянето на тагове в "
. Вижте по-долу как работи:
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 ;
Изход:
Col1
----
Test3