1.insert
insert用于將Expression1標識的一個或多個節點作為Expression2標識的節點的子節點或同級節點插入。語法格式如下:
insert
Expression1(
asfirstaslastintoafterbefore
Expression2
)
Expression1和Expression2
標識要插入的一個或多個節點。它可以是常量XML實例,也可以是XQuery表達式。該表達式可以得出節點、文本節點或一組有序的節點,但它無法解得根節點。如果該表達式得出一個值或一組值,則這些值作為單個文本節點插入,各值之間以空格分隔開。如果將多個節點指定為常量,則這些節點用括號括住,并以逗號分隔開。但無法插入異構序列(如一組元素、屬性或值)。如果Expression1解得一個空序列,則不會發生插入操作,并且不會返回任何錯誤。
into
Expression1標識的節點作為Expression2標識的節點的子節點插入。如果Expression2中的節點已有一個或多個子節點,則必須使用asfirst或aslast來指定所需的新節點添加位置。
after
Expression1標識的節點作為Expression2標識的節點的同級節點直接插入在其后面,after關鍵字不能用于插入屬性。
before
Expression1標識的節點作為Expression2標識的節點的同級節點直接插入在其前面,before關鍵字不能用于插入屬性。
(1)插入元素文檔中
在下面的示例中,首先將XML文檔分配給xml類型的變量。然后使用幾個insertXMLDML語句說明如何將元素節點插入文檔中。注意在示例中為各種路徑表達式都指定了“1”,以要求每次只返回單個目標,這樣就確保了只有單個目標節點。每次插入后,SELECT語句都會顯示結果。最終執行結果如圖1所示。
DECLARE@myDocxml
SET@myDoc="
"
SELECT@myDoc
-- 插入item的第1個子節點,此時不需要指定as first或as last
SET@myDoc.modify("
insert張洪舉
into(/root/item)1")
SELECT@myDoc
-- 插入item的第2個子節點,as first指定插入到同級子節點的前面
作者:zhanghongju
下一篇 DIV固定層CSS代碼詳解