2012-09-28 60 views
0

我有以下XML結構:從XML刪除n個子節點之後的所有子節點在SQL

<Config> 
    <DeviceFeatures> 
    <IMEI>7844454564</IMEI> 
    <PhoneNo>12354</PhoneNo> 
    <ICCIDNo>455554</ICCIDNo> 
    <IMSINo>87451</IMSINo> 
    <UniqueDeviceId>360</UniqueDeviceId> 
    <UserId>[email protected]</UserId> 
    <Password>test123</Password> 
    <Proxy>129.192.174.126</Proxy> 
    <Proxy_Port>5060</Proxy_Port> 
    </DeviceFeatures> 
</Config> 

而且我要刪除的節點<UniqueDeviceId></UniqueDeviceId>後的所有子節點。

我想刪除特定的(UserId,Password,Proxy,Proxy_Port)節點。

我已經試過如下:

DeviceFeatures.modify ('delete (/Config/DeviceFeatures/*)') 

但它會刪除所有的子節點。

我試過一些其他的解決方案,它似乎根本不工作,我不想編寫多個更新語句來刪除單個節點。

有沒有人知道這種情況下可能的解決方案?

回答

1

如果你知道該序列,就可以使用

DeviceFeatures.modify ('delete /Config/DeviceFeatures/*[position()>=6]') 
+0

喜@podiluska謝謝你這麼多的快速幫助,U確實做了偉大的工作!這就是我想要的...... :) – mayurk