节点在SQL 2005 + XML中的位置 [英] Position of node in SQL 2005 + XML

查看:76
本文介绍了节点在SQL 2005 + XML中的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

DECLARE @GroupXML  AS XML
 
SET @GroupXML=
'<GroupA>
<ParantNode Id="001">
   <ChildNode Name ="AA01"> </ChildNode>
   <ChildNode Name ="AA02"> </ChildNode>
</ParantNode>
<ParantNode Id="002">
   <ChildNode Name ="BB"> </ChildNode>
</ParantNode>
</GroupA>'
 
INSERT INTO @GroupTable (ParentIndex,ChildeName)
SELECT       
 NodeIndex,--Id of ParantNode of GroupA   
 GroupXML.GX.value('@Name', 'NVARCHAR(50)') ChildName          
FROM       
  @GroupXML.nodes('/GroupA/ParantNode/ChildNode') AS GroupXML(GX)  (ParentIndex,ChildeName)


SELECT * FROM @GroupTable



是否可以检索节点的索引?请让我知道如何在"NodeIndex,-GroupA的ParantNode的ID"中编写正确的查询
这样才能得出以下结果?


ParentIndex ChildeName
1 AA01
1 AA02
2 BB




Is it possible to retrieve index of node ? Please let me know how we can write proper query in " NodeIndex,--Id of ParantNode of GroupA"
So that it will give below result ?


ParentIndexChildeName
1AA01
1AA02
2BB


-----------------------
ParentIndex | ChildeName
------------------------
     1      |    AA01   
     1      |    AA02  
     2      |    BB



编辑DMA:使用html进行表标记,并将原始标记切换到pre块,以向OP演示如何整齐且对齐地显示表.



Edit DMA: Table markup using html, and original switched to pre block to demonstrate to OP ways of displaying a table neatly and aligned.

推荐答案

在这里是:

Here it is :

DECLARE @GroupXML  AS XML
 
SET @GroupXML=
'<GroupA>
<ParantNode Id="001">
   <ChildNode Name ="AA01"> </ChildNode>
   <ChildNode Name ="AA02"> </ChildNode>
</ParantNode>
<ParantNode Id="002">
   <ChildNode Name ="BB"> </ChildNode>
</ParantNode>
</GroupA>'

SELECT cast( GroupXML.GX.value('../@Id', 'NVARCHAR(50)') as int) ParentIndex, GroupXML.GX.value('@Name', 'NVARCHAR(50)') ChildName
	FROM  @GroupXML.nodes('/GroupA/ParantNode/ChildNode') AS GroupXML(GX)




看看这些页面:
http://msdn.microsoft.com/en-us/library/ms178030%28v = sql.100%29.aspx [ ^ ]

http://www.w3schools.com/xpath/xpath_syntax.asp [




Have look at these pages :
http://msdn.microsoft.com/en-us/library/ms178030%28v=sql.100%29.aspx[^]

http://www.w3schools.com/xpath/xpath_syntax.asp[^]

BTW, I''m not in western World ;)

Hope it helps.


这篇关于节点在SQL 2005 + XML中的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆