小编Ale*_*EEE的帖子

如何解析Oracle PL/SQL中的简单XML片段并将其加载到全局临时表中?

在SQL Server中,很容易解析包含由属性构造的简单XML片段的vachar变量,并将其加载到临时表中 - 请参阅下面的示例:

declare @UpdateXML VARCHAR(8000)

set @UpdateXML='<ArrayOfRecords>
  <Record Field01="130" Field02="1700" Field03="C" />
  <Record Field01="131" Field02="1701" Field03="C" />
  <Record Field01="132" Field02="1702" Field03="C" />
 </ArrayOfRecords>'

DECLARE @hdoc int

EXEC sp_xml_preparedocument @hdoc OUTPUT, @UpdateXML

INSERT 
INTO #tblTemp( 
  [Field01],
  [Field02],
  [Field03]
 )
SELECT * 
FROM OPENXML(@hdoc, '//ArrayOfRecords/Record') 
WITH ( Field01 int,
  Field02 int,
  Field03 char(1)
 )

EXEC sp_xml_removedocument @hdoc
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的示例在Oracle PL/SQL中与此相同?

在Oracle中有一个DBMS_XMLSTORE包,但它需要使用ROWSET和ROW元素的特定规范格式的XML片段.DBMS_XMLSTORE似乎不适用于XML属性.

此外,我不能100%确定是否需要创建XML片段的XSD并在我可以使用任何其他PL/SQL XML工具/查询之前在Oracle数据库上注册它.

谢谢!

xml oracle parsing plsql

6
推荐指数
1
解决办法
5828
查看次数

如何让PL/SQL解析Oracle中的XML属性而不是XML元素?

请参阅下面的PL/SQL片段:

create table t23 (
    field01 number, 
    field02 number, 
    field03 char(1) 
);
Run Code Online (Sandbox Code Playgroud)

示例代码段#1

declare x varchar2(2000) := '
<ArrayOfRecords>
<Record>
<Field01>130</Field01> 
<Field02>1700</Field02> 
<Field03>C</Field03> 
</Record> 
<Record>
<Field01>131</Field01> 
<Field02>1701</Field02> 
<Field03>B</Field03> 
</Record>                         
</ArrayOfRecords>';

begin
    insert
    into    T23
    SELECT  *
    FROM    XMLTABLE('/ArrayOfRecords/Record'
                PASSING xmltype(x)
                    COLUMNS 
                    Field01 number PATH 'Field01',
                    Field02 number PATH 'Field02',
                    Field03 char(1) PATH 'Field03'
            );
end;

-- The records will be here - great!
select  * from T23;
Run Code Online (Sandbox Code Playgroud)

示例代码段#2

declare y varchar2(2000) := '
<ArrayOfRecords>
<Record Field01="130" Field02="1700" Field03="C" />
<Record …
Run Code Online (Sandbox Code Playgroud)

xml oracle xpath parsing plsql

2
推荐指数
1
解决办法
8730
查看次数

标签 统计

oracle ×2

parsing ×2

plsql ×2

xml ×2

xpath ×1