微软BI开拓者

首页 » 数据库专区 » SQL Server开发 » xml 的操作
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>'
1
查看完整版本: xml 的操作