要在PL/SQL中连接两个XML元素,请连接两个XMLTYPE元素 声明 var1-XMLTYPE; var2-XMLTYPE; var3-XMLTYPE; var4-XMLTYPE; 开始 var1:=XMLTYPE(“”); var2:=XMLTYPE('Mr.); var3:=XMLTYPE('Mr.); var4:=XMLTYPE(“”); 结束;
如何连接上述XMLTYPE变量要在PL/SQL中连接两个XML元素,请连接两个XMLTYPE元素 声明 var1-XMLTYPE; var2-XMLTYPE; var3-XMLTYPE; var4-XMLTYPE; 开始 var1:=XMLTYPE(“”); var2:=XMLTYPE('Mr.); var3:=XMLTYPE('Mr.); var4:=XMLTYPE(“”); 结束;,xml,plsql,Xml,Plsql,如何连接上述XMLTYPE变量 谢谢。您的示例将无法编译,因为所有字符串都不是有效的XML文档。(您将获得ORA-31011:XML解析失败) 您可以将每个片段放在一个VARCHAR2中,然后将它们连接到XMLTYPE函数中: declare var1 XMLTYPE; var2 XMLTYPE; var3 XMLTYPE; var4 XMLTYPE; Begin var1 := XMLTYPE('<START>') ; var2 := XMLTYPE('<DOCUMENT&g
谢谢。您的示例将无法编译,因为所有字符串都不是有效的XML文档。(您将获得ORA-31011:XML解析失败) 您可以将每个片段放在一个VARCHAR2中,然后将它们连接到XMLTYPE函数中:
declare
var1 XMLTYPE;
var2 XMLTYPE;
var3 XMLTYPE;
var4 XMLTYPE;
Begin
var1 := XMLTYPE('<START>') ;
var2 := XMLTYPE('<DOCUMENT><TITLE>Mr.</TITLE>');
var3 := XMLTYPE('<NAME>Mr.</NAME></DOCUMENT>');
var4 := XMLTYPE('</START>') ;
end;
声明
var1-varchar2(32);
var2-varchar2(32);
var3-varchar2(32);
var4-varchar2(32);
varx-xmltype;
开始
var1:='';
var2:=“先生”;
var3:=“先生”;
var4:='';
varx:=xmltype(var1 | | var2 | | var3 | | var4);
dbms_output.put_行(varx.getStringVal());
结束;
从最后一行可以看到,方法“getStringVal()”将返回XML的varchar2值。我还想知道如何将varchar2转换为XMLTYPE,将XMLTYPE转换为varchar2。。上面的变量将给出错误,因为XMLTYPE变量应该有开始和结束标记,并且格式正确。您不能“连接”XML,因为它对您没有意义。如果
A
和B
是两个格式良好的XML文档,那么“A | | B
”本身就不会格式良好,因为它有两个根元素。为什么您认为需要能够以这种方式连接XML文档?
declare
var1 varchar2(32);
var2 varchar2(32);
var3 varchar2(32);
var4 varchar2(32);
varx xmltype;
Begin
var1 := '<START>';
var2 := '<DOCUMENT><TITLE>Mr.</TITLE>';
var3 := '<NAME>Mr.</NAME></DOCUMENT>';
var4 := '</START>' ;
varx := xmltype(var1 || var2 || var3 || var4);
dbms_output.put_line(varx.getStringVal());
end;