select * from xmltable(
'$B/Person/Student[@code = "2366"]' passing ---这里指定根节点
xmltype(
'<?xml version="1.0" encoding="gb2312" ?>
<Person>
<Student code = "2366">
<name>张三</name>
<sex>男</sex>
<age>1234</age>
</Student>
<Student>
<name>张四</name>
<sex>男</sex>
<age>1345</age>
</Student>
<Student>
<name>张五</name>
<sex>女</sex>
<age>231</age>
</Student>
</Person>
') as B
columns ---指定列名称
code varchar2(32) path '/Student/@code',
NAME varchar2(32) path '/Student/name',
sex varchar2(4) path '/Student/sex',
age number(10) path '/Student/age'
'$B/Person/Student[@code = "2366"]' passing ---这里指定根节点
xmltype(
'<?xml version="1.0" encoding="gb2312" ?>
<Person>
<Student code = "2366">
<name>张三</name>
<sex>男</sex>
<age>1234</age>
</Student>
<Student>
<name>张四</name>
<sex>男</sex>
<age>1345</age>
</Student>
<Student>
<name>张五</name>
<sex>女</sex>
<age>231</age>
</Student>
</Person>
') as B
columns ---指定列名称
code varchar2(32) path '/Student/@code',
NAME varchar2(32) path '/Student/name',
sex varchar2(4) path '/Student/sex',
age number(10) path '/Student/age'
)
研究了一个早上,参考了多个人的研究成果(网址忘了,抱歉),给大家分享下
@code = "2366"] 可以解析制定属性的节点
Student/@code 加@符号取得是属性,不加@取的是节点