我记得以前看到过用SQL语句操作XML里面的数据,XML文件是一个数据库表导出的数据.
比如我想用select,update,delete来修改XML里面的数据,如何实现?

解决方案 »

  1.   

    那是将返回的结果生成一个xml, for xml auto之类的
      

  2.   

    DECLARE @idoc int
    DECLARE @doc varchar(1000)
    SET @doc ='
    <ROOT>
    <Customer CustomerID="VINET" ContactName="Paul Henriot">
       <Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">
          <OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>
          <OrderDetail OrderID="10248" ProductID="42" Quantity="10"/>
       </Order>
    </Customer>
    <Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">
       <Order CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00">
          <OrderDetail OrderID="10283" ProductID="72" Quantity="3"/>
       </Order>
    </Customer>
    </ROOT>'
    --Create an internal representation of the XML document.
    EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
    -- Execute a SELECT statement that uses the OPENXML rowset provider.
    SELECT    *
    FROM       OPENXML (@idoc, '/ROOT/Customer',1)
                WITH (CustomerID  varchar(10),
                      ContactName varchar(20))
      

  3.   

    多谢楼上几位,可能我没有说清楚,是在C#里面将xml的数据当作一个数据源,用sql语句来增删改里面的数据.
      

  4.   

    这应该不难啊,xml本身就类似数据库