解决方法
函数
XMLTABLE用于将xml对象转换为单独的字段.
但是您可能希望构建一个包含xml内容的表,这是不同的.
但是您可能希望构建一个包含xml内容的表,这是不同的.
您可以使用包含xml内容的额外列创建表
CREATE TABLE mytable (my_id NUMBER PRIMARY KEY,my_xml XMLType);
INSERT INTO mytable VALUES (1,xmltype('<myxml id="D45"/>')); SELECT my_id,my_xml.extract('/myxml@id').getstringval() from mytable
成品.
所以你确实想要使用XMLTABLE函数,
您的错误表明您根本没有收到该文件.
所以你需要制作你的网址才能正确加载它.
我用嵌入式xml构建的测试用例是:
1 SELECT seq 2,id 3,content 4 FROM XMLTABLE('/xml/myrec' 5 PASSING XMLType('<xml>' 6 ||'<myrec id="D12"><content>hello1</content></myrec>' 7 ||'<myrec id="D13"><content>hello2</content></myrec> 8 ||</xml>') 9 COLUMNS seq FOR ORDINALITY 10,id VARCHAR2(100) PATH '@id' 11,content VARCHAR2(100) PATH 'content' 12* ) AS my_table
输出是:
SEQ ID CONTENT ---- ----- -------------------- 1 D12 hello1 2 D13 hello2