Tsql 文本节点的内部内容加上一个属性

Tsql 文本节点的内部内容加上一个属性,tsql,xquery,Tsql,Xquery,我希望在这里能清楚地看到我想要实现的目标。我一直在反复试验 insert into @description select d.value('*[1]', 'varchar(MAX)') text ,d.value('../@id', 'varchar(50)') parent from @xml.nodes('//*[local-name(.)="description"]') as xtbl(d) 我想查询name description的所有元素,记录内部文本和对父节点的引用 上面的

我希望在这里能清楚地看到我想要实现的目标。我一直在反复试验

insert into @description
select 
d.value('*[1]', 'varchar(MAX)') text
,d.value('../@id', 'varchar(50)') parent 
from @xml.nodes('//*[local-name(.)="description"]') as xtbl(d)
我想查询name description的所有元素,记录内部文本和对父节点的引用

上面的代码运行,但文本全部为空。编辑

XML练习:

<effort id="6d9cb0d1-58b0-11e2-acbb-00268315c2c5" start="2013-01-07 10:55:55" status="1" stop="2013-01-07 11:10:34">
      <description>
          Stängde sajten med felmeddelande.
      </description>
 </effort>

谢谢

我这里没有SQL server,但/*[local name.=description]的语法不正确。*:描述也一样,读起来更漂亮。另外,我猜您不能在d.value中找到父级,因此您可能希望选择//*:efforce,然后选择user作为d.value参数@id和description/text。也就是说,您的问题缺少当前出现的问题。那么,它不是如预期的那样工作吗?如果是,实际结果如何?或者你收到错误信息了吗?当然。我将编辑我的问题,然后尝试你的语法。谢谢。所以你的建议很有希望,但我得到了:XQuery[value]:“value”需要一个单例或空序列,找到了类型为“xdt:untypedAtomic*”的操作数。这不是我的专长。适用于描述[1]@德克,你为什么不把你的东西放在答案里,我来选。
declare @description  table(
    text varchar(MAX)
    ,parent varchar(50)
)