发布于 2009-08-04 09:17:18
函数XMLTABLE用于将xml对象转换为分隔的字段。但是您可能希望构造一个xml内容的表,这是不同的。
可以创建包含xml内容的额外列的表。
CREATE TABLE mytable (my_id NUMBER PRIMARY KEY, my_xml XMLType);然后在查询中使用xml内容。
INSERT INTO mytable VALUES (1,xmltype('<myxml id="D45"/>'));
SELECT my_id
,my_xml.extract('/myxml@id').getstringval()
from mytable完成了。
好的,回答第二个评论:
因此,您确实希望使用XMLTABLE函数,您的错误表明您根本没有得到该文件。因此,您需要创建您的url正确加载它。我用嵌入式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发布于 2009-08-03 14:18:36
XMLTABLE可能就是你要找的。
https://stackoverflow.com/questions/1222570
复制相似问题