WEB开发网
开发学院数据库MSSQL Server SQL Server 2005的XML数据修改语言 阅读

SQL Server 2005的XML数据修改语言

 2007-05-19 09:42:54 来源:WEB开发网   
核心提示: 执行上面的SELECT查询后,可以看到CustomerItem中的XML内容,SQL Server 2005的XML数据修改语言(7),如下所示:<C:customer xmlns:C="http://schemas.mybook.com/customerschemas&q

执行上面的SELECT查询后,可以看到CustomerItem中的XML内容,如下所示:

<C:customer xmlns:C="http://schemas.mybook.com/customerschemas">
  <item ID="1">
    <customername>北方书城</customername>
    <address>北京市海淀区知春路22号</address>
    <phone>2222222</phone>
    <contact>刘先生</contact>
  </item>
  <item ID="2">
    <customername>东图大厦</customername>
    <address>长春市朝阳大街99号</address>
    <phone>1111111</phone>
    <contact>孙小姐</contact>
  </item>
</C:customer>

2.delete

delete用于删除XML实例的节点。其语法格式如下:

delete Expression

Expression是要删除的节点的XQuery表达式。删除该表达式选择的所有节点,以及所选节点中的所有节点或值。表达式不能是根(/)节点。如果表达式返回空序列,则不进行删除,不返回错误。

下面的示例演示了从非类型化的xml变量中删除指令、注释、属性、元素和节点的方法。在每次删除后都会显示XML,结果如图3所示。

DECLARE @myDoc xml
SET @myDoc = '<?Instructions for=TheWC.exe ?>
<root>
  <!-- 这里是注释 -->
  <item ID="1" ShipTo="广州">这里是文本
    <title>Ajax实战</title>
    <author>张洪举</author>
  </item>
  <item ID="2">
    <title>ASP.NET实战</title>
    <author>卢桂章</author>
  </item>
</root>'
SELECT @myDoc
-- 删除注释
SET @myDoc.modify('
delete /root/comment()
')
SELECT @myDoc
-- 删除所有指令
SET @myDoc.modify('
delete //processing-instruction()
')
SELECT @myDoc
-- 删除ID为1的item中的文本节点
SET @myDoc.modify('
delete /root/item[@ID=1]/text()
')
SELECT @myDoc
-- 删除一个属性
SET @myDoc.modify('
delete /root/item[@ID=1]/@ShipTo
')
SELECT @myDoc
-- 删除一个元素
SET @myDoc.modify('
delete /root/item[@ID=2]/author
')
SELECT @myDoc
-- 删除ID为2的item节点
SET @myDoc.modify('
delete /root/item[@ID=2]
')
SELECT @myDoc
GO

上一页  2 3 4 5 6 7 8  下一页

Tags:SQL Server XML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接