当前位置:Gxlcms > 数据库问题 > SqlServer解析XML数据

SqlServer解析XML数据

时间:2021-07-01 10:21:17 帮助过:24人阅读

--建表 2 create table xml_table(id int identity primary key, xmldata xml) 3 --插入数据 4 insert into xml_table(xmldata) values 5 (<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 6 <REQUEST> 7 <AKB020>00010102</AKB020> 8 <MSGFMT>ZRHIS</MSGFMT> 9 <REQUEST_SN>159800</REQUEST_SN> 10 <BAC060>ZRHIS03</BAC060> 11 <USERID></USERID> 12 <PASSWD></PASSWD> 13 <PARAM1></PARAM1> 14 <PARAM2></PARAM2> 15 <PARAM3></PARAM3> 16 <PARAM> 17 <CURRENT_PAGE>1</CURRENT_PAGE> 18 <PAGE_COUNT>30</PAGE_COUNT> 19 <ZKE283>1</ZKE283> 20 </PARAM> 21 </REQUEST> 22 ) 23 --查询表 24 select * from xml_table 25 --查询BAC060值 26 select xmldata.query(/REQUEST), xmldata.query(/REQUEST/BAC060) from xml_table --这样只能查到含节点的内容 27 select xmldata.value((/REQUEST/BAC060)[1], nvarchar(120)) from xml_table--查询到ZRHIS03值 ZRHIS03 28 --查询PARAM节点内的PAGE_COUNT值 29 select xmldata.query(/REQUEST), xmldata.query(/REQUEST/PARAM/PAGE_COUNT) from xml_table --这样只能查到含节点的内容 30 select xmldata.value((/REQUEST/PARAM/PAGE_COUNT)[1], nvarchar(120)) from xml_table--查询到ZRHIS03值30 31 --增加节点TESTSTR 32 update xml_table 33 set xmldata.modify(insert <TESTSTR>这是增加的节点</TESTSTR> before (/REQUEST/USERID)[1] ) 34 --查询增加的节点TESTSTR 35 select xmldata.value((/REQUEST/TESTSTR)[1], nvarchar(120)) from xml_table--这是增加的节点 36 --删除节点 37 update xml_table 38 set xmldata.modify(delete /REQUEST/TESTSTR)

最近接到个新项目,需要利用存储过程操作XML,不需要代码传参,直接用存储过程返回XML参数,对于我来还是很感谢这个项目的,比较没接触过的可以学习更多

趁现在晚上有点时间先预习一下,先从增删改查学起,学习过程记录一下,供自己以后查阅

SqlServer解析XML数据

标签:query   str   新项目   insert   增加   color   学习过程   varchar   现在   

人气教程排行