zoukankan      html  css  js  c++  java
  • SQL SERVER 解析XML到数据库表

    //片段1
     IF OBJECT_ID('tempdb..#TEMP'IS NOT NULL
     BEGIN
         DROP TABLE  #TEMP
     END
     
     CREATE TABLE #TEMP
     ( 
          title VARCHAR(40)
         ,author VARCHAR(40)
         ,price VARCHAR(40
     )
     
     DECLARE @xmlDoc XML
     SET @xmlDoc='
     <books>
          <book id="0001">
               <title>C</title>
               <author>David</author>
               <price>21</price>
          </book>
          <book id="0002">
               <title>JAVA</title>
               <author>Jeriffe</author>
               <price>40</price>
          </book>
     </books>
    '
     
     SELECT @xmlDoc.query('(/*)')
     SELECT @xmlDoc.query('(/books)'
     SELECT @xmlDoc.query('(/books/book)')
     
     SELECT @xmlDoc.value('(/books/book/author)[last()]','varchar(40)')  
     SELECT @xmlDoc.value('(/books/book[position()>1]/author)[1]','varchar(40)'
      
     SELECT T.C.query('(author)'AS AuthorNode FROM @xmlDoc.nodes('/books/book'AS T ( C )
     
     SELECT T.C.value('(./author)[1]','varchar(40)'AS Author FROM @xmlDoc.nodes('/books/book'AS T ( C )
     SELECT T.C.value('(author)[1]','varchar(40)'AS Author FROM @xmlDoc.nodes('/books/book'AS T ( C )
     
     INSERT INTO #TEMP (title,author,price)
      SELECT 
          T.C.value('(./title)[1]''varchar(40)'
         ,T.C.value('(./author)[1]''varchar(40)'
         ,T.C.value('(./price)[1]''varchar(40)'
       FROM @xmlDoc.nodes('/books/book'AS T ( C )

     SELECT * FROM #temp  

     //片段2

    DECLARE@ImageNames XML
    SET @ImageNames=
    '<ImageNames>
        <ImageName>20-144-402-01.jpg</ImageName>
        <ImageName>20-144-402-02.jpg</ImageName>
        <ImageName>20-144-402-03.jpg</ImageName>
        <ImageName>20-144-402-04.jpg</ImageName>
    </ImageNames>'

    DECLARE @ImageNameTable TABLE
    (
        ID INT IDENTITY(1,1PRIMARY KEY,
        ImageName CHAR(30)
    )
    INSERT INTO @ImageNameTable
    (
        ImageName
    )
    SELECT
       T.C.value('(.)[1]''varchar(80)'AS ImageName
    FROM @ImageNames.nodes('/ImageNames/ImageName'AS T ( C )

    SELECT 
        ImageName 
    FROM @ImageNameTable

    //Result:

    ImageName
    20-144-402-01.jpg             
    20-144-402-02.jpg             
    20-144-402-03.jpg             
    20-144-402-04.jpg 
  • 相关阅读:
    google PR值突然调整,貌似出什么问题了
    【转自译言】在线劝说:7种说服人们网络购买的方法
    马化腾关于产品设计与用户体验的培训
    北京站售票人员倒票视频
    大型网站架构不得不考虑的10个问题
    在谈电子商务名词解释
    GridView
    CheckBoxList
    ShoppingCart
    MongoDB数据库简介及安装
  • 原文地址:https://www.cnblogs.com/jeriffe/p/2037412.html
Copyright © 2011-2022 走看看