jason100 - 1/14/2010 8:01:00 PM
DECLARE @xml XML
SET @xml ='
<ItemsList>
<A>123 </A>
<B>123 </B>
<IdMapping>
<Inv>
<Id>001 </Id>
<Type>A01 </Type>
<Part>01 </Part>
</Inv>
<Inv>
<Id>002 </Id>
<Type>A02 </Type>
<Part>02 </Part>
</Inv>
<Inv>
<Part>03 </Part>
</Inv>
<Inv>
<Part>05 </Part>
</Inv>
<Inv>
<Part>09 </Part>
</Inv>
</IdMapping>
</ItemsList>'
SELECT @xml
我想要的结果是
1.0 如果 此节点 <Id> </Id>(例如: <Id>001 </Id>, <Id>002 </Id> ) 是有值, 结果为,去掉所有 <Part> </Part> 节点
SET @xml ='
<ItemsList>
<A>123 </A>
<B>123 </B>
<IdMapping>
<Inv>
<Id>001 </Id>
<Type>A01 </Type>
</Inv>
<Inv>
<Id>002 </Id>
<Type>A02 </Type>
</Inv>
</IdMapping>
</ItemsList>'
2.0 如果 此节点 <Id> </Id> 没有值: 则修改节点名称为 <NewInv> </NewInv>
SET @xml ='
<ItemsList>
<A>123 </A>
<B>123 </B>
<IdMapping>
<NewInv>
<Part>03 </Part>
</NewInv>
<NewInv>
<Part>05 </Part>
</NewInv>
<NewInv>
<Part>09 </Part>
</NewInv>
</IdMapping>
</ItemsList>'