我们应用到ExtractValue(char,/point1/point2)函数
案例
<point1>
<point2>name</point2>
</point1>
<point1>
<point2>sex</point2>
</point1>
BEGIN
declare i int default 1;declare xml varchar(2000); #xml文本信息,这里将其定义为字符串
declare count int default 1; #定义变量:赋值为查找到父节点的总数
declare name varchar(256); #定义两个临时变量 name和sex用于接收读取出节点的信息。
declare sex varchar(256);
set xml ='
<point1>
<point2>name</point2>
</point1>
<point1>
<point2>sex</point2>
</point1> ';
set count = ExtractValue(xml,'count(/point1)');while i<=count do #按照父节点的总数,循环读取子节点信息
set name = ExtractValue(xml,'/point1[$i]/point2');
set category = ExtractValue(xml,'/point1[$i]/point2);
insert into people(name,sex) value(name,sex);
set i=i+1;
end while;
END