zoukankan      html  css  js  c++  java
  • SQL Server中对XML操作

    博客园的账号密码忘了,先放这儿吧

    1.    检查XML中节点是否存在
    SELECT xmlContent.exist('/Samples/Sample'),
        * FROM xmlTable
    WHERE xmlContent.exist('/Samples/Sample') = 1

    SELECT xmlContent.exist('/Samples//Name'),
        * FROM xmlTable
    WHERE xmlContent.exist('/Samples//Name') = 1


    2.    检查节点值是否存在
    SELECT TOP 100    *
    FROM  xmlTable
    WHERE xmlContent.exist('/Samples/Sample[Value=1]') = 1

    3.    获取XML某个节点的内容 (类似DOM的OutterXML)
    SELECT TOP 100   xmlContent.query('/Samples/Sample/Name'),
       *
    FROM  xmlTable

    4.    获取指定XML块的内容 (类似DOM的innerText)
    SELECT TOP 100   xmlContent.value('(/Samples/Sample/Name)[1]', 'varchar(100)'),
       *
    FROM  xmlTable


    附:做测试用的数据表和数据的生成SQL
    -- 创建测试表
    CREATE TABLE [xmlTable](
        [xmlId] [int] IDENTITY(1,1) NOT NULL,
        [xmlName] [varchar](50) NOT NULL,
        [xmlContent] [xml] NOT NULL,
        [xmlDescr] [varchar](2000) NULL
    )

    -- 初始化数据
    -- truncate table xmlTable
    DECLARE @iRow int,
            @xmlContent xml,
            @xmlName varchar(50),
            @xmlId int

    SET @iRow = 0
    SELECT @xmlId = max(xmlid) from xmlTable

    if(@xmlId is null)
        SET @xmlId = @iRow + 1

    While @iRow < 5
    BEGIN
        SET @xmlName = 'Sample' + Convert(varchar(10), @xmlId + @iRow)
        SET @xmlContent = '<Samples><Sample><Name>' + @xmlName+ '</Name><Value>'+ CONVERT(varchar(20), @xmlId + @iRow)
            + '</Value></Sample></Samples>'
        INSERT INTO [xmlTable]
               ([xmlName]
               ,[xmlContent]
               --,[xmlDescr]
               )
         VALUES
               (@xmlName
               ,@xmlContent
               --,<xmlDescr, varchar(2000),>
               )
          SET @iRow = @iRow + 1
    END

  • 相关阅读:
    WebService如何抛出干净的异常
    添加引用方式抛出和捕获干净的WebService异常
    Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据
    API & HTTP 请求调试:Postman
    .NET Transactional File Manager
    IIS发布站点错误收集
    zk删除node模式
    zk watch机制及创建node机制
    zk client获取数据
    Zookeeper CLI
  • 原文地址:https://www.cnblogs.com/lyrix/p/2147807.html
Copyright © 2011-2022 走看看