zoukankan      html  css  js  c++  java
  • SqlServer解析XML数据

     1 --建表
     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参数,对于我来还是很感谢这个项目的,比较没接触过的可以学习更多

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

  • 相关阅读:
    列表
    Lambda表达式
    委托
    泛型(二)
    泛型(一)
    继承
    object类
    linux 命令补全包
    记一次 mysql 安装完成后启动报错 且 日志为空
    nginx 下配置https 访问提示下载文件 解决方法
  • 原文地址:https://www.cnblogs.com/studypanp/p/13237164.html
Copyright © 2011-2022 走看看