sqlserver如何操作xml
sqlserver操作xml
工具/原料
sqlserver2008r2
editplus
创建xml数据库
1、创建一个product.xml文件,如下:<products> <product id="1"媪青怍牙> <name>A产品</name> <price>23.5</price> <qty>34</qty> </product> <product id="2"> <name>B产品</name> <price>23.5</price> <qty>34</qty> </product> <product id="3"> <name>C产品</name> <price>23.5</price> <qty>34</qty> </product></products>

3、将我们的product.xml文件数据导入到该表bulkinsert xmlTest from 'd:/backup/product.xml'with (DATAFILETYPE ='widechar',ROWTERMINATOR='' --默认为/n换行,我们这里不需要换行)然后查询结果select * from xmlTest

xml节点查询
1、xml的查询在sql中都是按照路径查询的,路径有相对路径和绝对路径例如我们要查询product节点id=1的name节点,查询分析器中输入如下语句:select xmlStr.query('//product[@id=1]/name') from xmltest以上就是一个相对查询 使用//开始,其下为输出结果

xml节点值的查询
1、xml的值的查询使用value方法,例如我们查询product节点id=1的name节点的值,可以在查询分析器中输入select xm造婷用痃lStr.value('(/products/product[@id=1]/name)[1]','varchar(max)') from xmltest或者使用相对路径查询使用以下语句:select xmlStr.value('(//product[@id=1]/name)[1]','varchar(max)')from xmltest输出结果如下注意:以上语句需要加上一个返回值的类型,

2、再在<product id=4></product>中加入子节点 ,例如添加一个nameupdate xmlTestset xmlStr.modify('insert <name>G产品</name> into(/products/product)[4]')以此类推我们就添加完了产品信息了注:这里的into 表示将某个节点插入某个节点里面

导出xml文件
1、将xml导出成文件,可以参考我以前写的将表数据导出成xls文件这篇经验,这里就不再赘述了,以下为参考地址:https://jingyan.baidu.com/article/3ea514891bb18113e61bba9f.html