博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL存储过程 — 解析 XML 数据并实现插入操作
阅读量:3714 次
发布时间:2019-05-21

本文共 1314 字,大约阅读时间需要 4 分钟。

                                                      MySQL存储过程 — 解析 XML 数据并实现插入操作 

一、概述:

       最近在做项目的过程中,需要利用MySQL存储过程 解析 XML数据并进行插入操作,因此就学习了下。MySQL 解析 XML 的思路就是使用 MySQL自带的 extractvalue ()函数 并根据传入XPath路径来获取相应的值,这个思路和他其他的语言的获取XML节点值差不多,只是写法不同。(更好的阅读体验,请移步我的)

二、代码实现:

 1,待解析的XML字符串:

155728471173781
存储过程
安徽
背景
1557284711889

2,存储过程:

CREATE DEFINER=`root`@`localhost` PROCEDURE `addcustomer`(IN ucs_info VARCHAR(300))BEGIN   #声明需要用到的变量	DECLARE cId BIGINT;	DECLARE cName VARCHAR(200);	DECLARE location VARCHAR(200);	DECLARE remark VARCHAR(200);	DECLARE createtime VARCHAR(200);    #获取值    SET @cId = extractvalue(ucs_info,'/cInfo/cId');    SET @cName = extractvalue(ucs_info,'/cInfo/cName');    SET @location = extractvalue(ucs_info,'/cInfo/location');    SET  @remark = extractvalue(ucs_info,'/cInfo/remark');    SET  @createtime = extractvalue(ucs_info,'/cInfo/createtime');    #插入数据库    INSERT INTO customer(c_id,c_name,location,remark,c_info) VALUES(@cId,@cName,@location,@remark,ucs_info );    #显示出来,这里只是判断读取的是否正确select @cId cId, @cName cName, @location location ,@remark remark,FROM_UNIXTIME(@createtime) createtime;END

3,调用存储过程 :

call addcustomer("待解析的XML字符串")

4,结果:

 

 

 5,总结:

     MySQL存储过程解析XML的流程就是:

     1,先建立一个存储过程,参数是待解析的XMl;

     2, 调用  extractvalue() 函数,传入 XML 字符串 以及 节点路径。(节点路径的写法 采用的是 XPath,可自行搜索。)

转载地址:http://lyajn.baihongyu.com/

你可能感兴趣的文章
项目中遭遇监听input框操作报错 [object InputEvent]类型
查看>>
js正则表达式获取文件名和后缀
查看>>
轻松解决element UI 表单重置问题
查看>>
基于电应普超声波液位传感器的液位控制系统
查看>>
linux下离线在线安装lrzsz并使用sz rz命令
查看>>
linux下离线安装jq工具
查看>>
Linux 离线安装MongoDB 4.x(详细)
查看>>
ssh连接慢怎么办?xshell连接虚拟机很慢?
查看>>
Hive的bround函数?又叫高斯四舍五入或银行家四舍五入
查看>>
hive explode和LateralView的使用,创建包含数组类型字段的表
查看>>
花了一天的时间将官网描述Hive运算符和函数逐一测试了一遍
查看>>
Hive的order by、sort by、distribute by和cluster by[附实例]
查看>>
Hive的窗口函数[附实例]
查看>>
无法连接sql server,且SQL Server 服务配置管理器不见了
查看>>
linux下载安装mysql5.7教程详解
查看>>
Servlet3.0实现注解开发
查看>>
【nodejs】post方式请求路由后报错request aborted(body-parser报错request aborted)
查看>>
封装出一个 tab-bar 的组件
查看>>
封装出 tab-bar组件2
查看>>
DTD 简介
查看>>